Good afternoon all I''m trying to implement a form that dynamically inserts radio buttons into a form. The user selects options from a drop-down menu. I use observe_field to watch for a change and call back to render the appropriate partial tha contains the radio options. All works nicely but I''m tripped up on one thing: When rendering a form using form_for how do I link those radio buttons to the form? In the partial I have: <%= form.radio_button( :product_id, thumbnail.id, :checked => is_checked ) %> but obviously since the HTML is being rendered via the partial after the form has been created there''s no form object to use to build the radio_button. My questions: is there a way to pass the form object? Am I doing this completely wrong? Many thanks Chris --~--~---------~--~----~------------~-------~--~----~ 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-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
Hi Chris, Chris_Cummer wrote:> I''m trying to implement a form that dynamically > inserts radio buttons into a form.> but obviously since the HTML is being rendered via > the partial after the form has been created there''s no > form object to use to build the radio_button. > > My questions: is there a way to pass the form object? > Am I doing this completely wrong?No, and yes. ;-) form_for is just a convenience for form building. It has nothing to do with how the browser constructs the params hash. "Also worth noting is that the form_for yields a form_builder object, in this example as f, which emulates the API for the stand-alone FormHelper methods, but without the object name. So instead of text_field :person, :name, you get away with f.text_field :name" What happens when the visitor clicks the submit button is that the browser looks for valid elements between the form''s start and end tag and adds key / value pairs to the hash. The documentation (api.rubyonrails.org) says that about form_for, albeit in a round-about way. Short answer... don''t use form_for syntax in your partial. Just use straight radio_button syntax specifying the params key you want the value to come back in. hth, Bill --~--~---------~--~----~------------~-------~--~----~ 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-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
Ah! This makes sense. I had it in my mind that the other way was depricated and that form_for was the preferred method but of course there can be no ''form'' object after the form is created. Manny thanks for pointing out the path of least resistance Bill. Cheers Chris On Feb 26, 6:30 pm, "Bill Walton" <bill.wal...-xwVYE8SWAR3R7s880joybQ@public.gmane.org> wrote:> Hi Chris, > > Chris_Cummer wrote: > > I''m trying to implement a form that dynamically > > inserts radio buttons into a form. > > but obviously since the HTML is being rendered via > > the partial after the form has been created there''s no > > form object to use to build the radio_button. > > > My questions: is there a way to pass the form object? > > Am I doing this completely wrong? > > No, and yes. ;-) form_for is just a convenience for form building. It has > nothing to do with how the browser constructs the params hash. > > "Also worth noting is that the form_for yields a form_builder object, in > this example as f, which emulates the API for the stand-alone FormHelper > methods, but without the object name. So instead of text_field :person, > :name, you get away with f.text_field :name" > > What happens when the visitor clicks the submit button is that the browser > looks for valid elements between the form''s start and end tag and adds key / > value pairs to the hash. The documentation (api.rubyonrails.org) says that > about form_for, albeit in a round-about way. > > Short answer... don''t use form_for syntax in your partial. Just use > straight radio_button syntax specifying the params key you want the value to > come back in. > > hth, > Bill--~--~---------~--~----~------------~-------~--~----~ 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-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk-unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---