Evaldo Kalbermatter
2010-Sep-03 15:03 UTC
[Rails] Problema con parámetros en collection_select (No novato)
Hola a tod@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í? -- Posted via 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 rubyonrails-talk-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe@googlegroups.com. For more options, visit this group at groups.google.com/group/rubyonrails-talk?hl=en.
Evaldo Kalbermatter
2010-Sep-03 16:03 UTC
[Rails] Re: Problema con parámetros en collection_select (No novato)
Evaldo Kalbermatter wrote:> Hola a tod@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! -- Posted via 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 rubyonrails-talk-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe@googlegroups.com. For more options, visit this group at groups.google.com/group/rubyonrails-talk?hl=en.
Evaldo Kalbermatter
2010-Sep-06 14:50 UTC
[Rails] Re: Problema con parámetros en collection_select (No novato)
Evaldo Kalbermatter wrote:> Evaldo Kalbermatter wrote: >> Hola a tod@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 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 rubyonrails-talk-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe@googlegroups.com. For more options, visit this group at groups.google.com/group/rubyonrails-talk?hl=en.