Evaldo Kalbermatter wrote:
> Evaldo Kalbermatter wrote:
>> Hola a t...@s,
>>
>> Les cuento... Tengo lo siguiente en aplicación:
>>
>> Una página donde esta mi modelo docencia que a su vez le voy agregando
>> todos los dictados de carreras:
>>
>> <fieldset>
>> <% f.fields_for :dictados do |dictado_form| %>
>> <%= render :partial => 'dictado', :locals => { :f => dictado_form }
>> %>
>> <% end %>
>> <%= add_child_link "Agregar un dictado de carrera", f, :dictados %>
>> </fieldset>
>>
>> En el partial de dictado carrera tengo lo siguiente:
>>
>> <%= render :partial => './shared/carreras' %>
>>
>> Y el partial de carrera tiene lo siguiente:
>>
>> <%= collection_select(@mcarrera.to_s, "codcarrera", Carrera.find(:all,
>> :order=>"nombre"), :codcarrera, :nombre,
>> {:prompt => "", :selected => @codcarrera.to_i}) %>
>>
>> Esto es porque una de las cosas que quiero saber es en que carrera dió
>> clases el docente. Ahora, me funciona todo bien salvó que no va
>> correctamente el dato de codcarrera por POST.
>>
>> Se preguntarán porque '@mcarrera'... Porque en otras vistas uso el mismo
>> partial y ese '@mcarrera' lo seteo con el nombre del modelo para que el
>> datos de codcarrera vaya por el POST asociado al modelo y se guarde de
>> una.
>>
>> En fin, lo que tendría que lograr al ver el código html es:
>> 'docencia[dictados_attributes][?][codcarrera]' pero no se como hacerlo
>>
>> Otro problema es que al editar como hago para que queden seleccionadas
>> las carreras en caso de ser más de uno el dictado?
>>
>> Espero haberme expresado bien y puedan ayudarme. Seguramente a alguién
>> le paso pero no encontré nada por acá. Gracias!
>>
>> # Perdón por duplicar el post, puse el mismo en el foro en inglés y
>> ahora no sé como eliminarlo... algún moderador por ahí?
>
> Una de las cosas que se me ocurrió es setear @mcarrera con
> "nombre_modelo[nombre_del_modelo_nested_form]"
>
> Observando los parámetros que viajan por post (viendo los logs) llegá
> todo bien, pero igual no funciona. Me muestra el siguiente error (el 2
> corresponde al id de carrera):
>
> undefined method `with_indifferent_access' for "2":String
>
> Gracias!
Finalmente lo solucione. Era más fácil de lo que creía, jeje...
Les comentaba que usaba una variable @mcarrera para setear el modelo en
el collection_select. Bueno, no es necesario, se puede usar la típica
variable "f" del formulario, es decir:
<% form_for(@modelo) do |f| %>
Y en el collection_select quedaría lo siguiente:
<%= f.collection_select(:codcarrera, Carrera.find(:all,
:order=>"nombre"), :codcarrera, :nombre, {:prompt => "", :selected =>
@codcarrera.to_i}) %>
En mi caso tuve que poner el collection_select en el mismo formulario
que utilizo con el nested form y no como un partial como lo tenía ya que
esa variable "f" de mi modelo (el de nested forms) no me funciona. La
solución esta por modificar el javascript utilizado para ir agregando
dinamicamente, en este caso, los dictados.
Si alguién le encuentra la vuelta a esto nos cuenta, sí?
Gracias!
Gracias!
--
Posted via http://www.ruby-forum.com/.
--
You received this message because you are subscribed to the Google Groups "Ruby
on Rails: Talk" group.
To post to this group, send email to [email protected].
To unsubscribe from this group, send email to
[email protected].
For more options, visit this group at
http://groups.google.com/group/rubyonrails-talk?hl=en.