Hello everyone Just started to learn ROR.Does anyone have an idea on how to store fields in two tables using a single form? I wish to store the registration details in ''users'' table and the langauges selected by the user in another table user_language with each row for one language selected(fields in the user_language table is user_id and language_id where user_id is the id of the user trying to register ie there may be more than one languages for a single user) My view is like the following <% form_for :user do |f| %> <tr> <td>Enter Name</td> <td>:</td> <td><%= f.text_field :name %> </tr> <tr> <td>Enter Username</td> <td>:</td> <td><%= f.text_field :username %> </tr> <tr> <td>Enter Password</td> <td>:</td> <td><%= f.password_field :password %> </tr> <tr> <td>Address</td> <td>:</td> <td><%= f.text_field :address %> </tr> <tr> <td>Select Gender</td> <td>:</td> <td><%= radio_button("user", "gender", "1") %>Male <%= radio_button("user", "gender", "2") %>Female <%= radio_button("user", "gender", "3") %>Not Applicable </td> </tr> <tr> <td>Select Languages Known</td> <td>:</td> <td> <% for language in @languages %> <%= language.language %> <%check_box_tag("user_language[language_id][]","#{language.id}") %> <% end %> </td> </tr> <tr> <td>Select country </td> <td> :</td> <td> <select id="user[country_id]" name="user[country_id]"> <option value="">Select Country </option> <%= options_from_collection_for_select( Country.find(:all), "id", "name") %> </select> </td> </tr> <tr> <td> Select State</td> <td>:</td> <td> <div id="state_list"> <%= select("user", "state_id", State.find(:all).collect{ |c| [ c.state, c.id] }, {:prompt => ''Select State''},{:onchange=>''display_msg();''}) %> <%= observe_field("user[country_id]", :frequency => 0.50, :update => "user_state_id", :url => {:action => :load_states}, :with => "''country_id=''+value") %> </div> </td> </tr> <tr> <td colspan="3" align="center"> <%= f.submit "Register" ,{:onclick=>"display_msg(document.getElementById(''user_name'').value)" }%> <%= f.submit "List Users" %> </td> </tr> <% end %> Controller contains def create @languages = Language.find(:all) if request.post? and params[:commit] == "Register" @user = User.new(params[:user]) @user.save @user.user_language = User_Language.new(params[:user_language]) redirect_to :action => ''list_users'' end when trying an error occurs . Pls help! -- 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 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 -~----------~----~----~----~------~----~------~--~---
what error u r getting? On Mon, Sep 29, 2008 at 11:32 AM, Indu Rs <rails-mailing-list-ARtvInVfO7ksV2N9l4h3zg@public.gmane.org>wrote:> > Hello everyone > Just started to learn ROR.Does anyone have an idea on how to store > fields in two tables using a single form? > I wish to store the registration details in ''users'' table and the > langauges selected by the user in another table user_language with each > row for one language selected(fields in the user_language table is > user_id and language_id where user_id is the id of the user trying to > register ie there may be more than one languages for a single user) > My view is like the following > <% form_for :user do |f| %> > <tr> > <td>Enter Name</td> > <td>:</td> > <td><%= f.text_field :name %> > </tr> > <tr> > <td>Enter Username</td> > <td>:</td> > <td><%= f.text_field :username %> > </tr> > <tr> > <td>Enter Password</td> > <td>:</td> > <td><%= f.password_field :password %> > </tr> > <tr> > <td>Address</td> > <td>:</td> > <td><%= f.text_field :address %> > </tr> > > <tr> > <td>Select Gender</td> > <td>:</td> > <td><%= radio_button("user", "gender", "1") %>Male > <%= radio_button("user", "gender", "2") %>Female > <%= radio_button("user", "gender", "3") %>Not Applicable > </td> > </tr> > <tr> > <td>Select Languages Known</td> > <td>:</td> > <td> > <% for language in @languages %> > > <%= language.language %> <%> check_box_tag("user_language[language_id][]","#{language.id}") %> > <% end %> > > </td> > </tr> > <tr> > <td>Select country </td> > <td> :</td> > <td> > <select id="user[country_id]" name="user[country_id]"> > <option value="">Select Country </option> > <%= options_from_collection_for_select( > Country.find(:all), "id", "name") %> > </select> > </td> > </tr> > <tr> > <td> Select State</td> > <td>:</td> > <td> > <div id="state_list"> > <%= select("user", "state_id", State.find(:all).collect{ |c| [ > c.state, c.id] }, {:prompt => ''Select > State''},{:onchange=>''display_msg();''}) %> > > <%= observe_field("user[country_id]", > :frequency => 0.50, > :update => "user_state_id", > :url => {:action => :load_states}, > :with => "''country_id=''+value") > %> > </div> > </td> > </tr> > > <tr> > <td colspan="3" align="center"> > <%= f.submit "Register" > ,{:onclick=>"display_msg(document.getElementById(''user_name'').value)" > }%> > <%= f.submit "List Users" %> > </td> > </tr> > <% end %> > > Controller contains > def create > @languages = Language.find(:all) > if request.post? and params[:commit] == "Register" > @user = User.new(params[:user]) > > @user.save > @user.user_language = User_Language.new(params[:user_language]) > redirect_to :action => ''list_users'' > end > when trying an error occurs . Pls help! > -- > 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 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 -~----------~----~----~----~------~----~------~--~---
use *build* method.. google it you will get good answer. On Mon, Sep 29, 2008 at 12:25 PM, Nilesh Kumar <email2nilez-Re5JQEeQqe8AvxtiuMwx3w@public.gmane.org>wrote:> what error u r getting? > > > On Mon, Sep 29, 2008 at 11:32 AM, Indu Rs < > rails-mailing-list-ARtvInVfO7ksV2N9l4h3zg@public.gmane.org> wrote: > >> >> Hello everyone >> Just started to learn ROR.Does anyone have an idea on how to store >> fields in two tables using a single form? >> I wish to store the registration details in ''users'' table and the >> langauges selected by the user in another table user_language with each >> row for one language selected(fields in the user_language table is >> user_id and language_id where user_id is the id of the user trying to >> register ie there may be more than one languages for a single user) >> My view is like the following >> <% form_for :user do |f| %> >> <tr> >> <td>Enter Name</td> >> <td>:</td> >> <td><%= f.text_field :name %> >> </tr> >> <tr> >> <td>Enter Username</td> >> <td>:</td> >> <td><%= f.text_field :username %> >> </tr> >> <tr> >> <td>Enter Password</td> >> <td>:</td> >> <td><%= f.password_field :password %> >> </tr> >> <tr> >> <td>Address</td> >> <td>:</td> >> <td><%= f.text_field :address %> >> </tr> >> >> <tr> >> <td>Select Gender</td> >> <td>:</td> >> <td><%= radio_button("user", "gender", "1") %>Male >> <%= radio_button("user", "gender", "2") %>Female >> <%= radio_button("user", "gender", "3") %>Not Applicable >> </td> >> </tr> >> <tr> >> <td>Select Languages Known</td> >> <td>:</td> >> <td> >> <% for language in @languages %> >> >> <%= language.language %> <%>> check_box_tag("user_language[language_id][]","#{language.id}") %> >> <% end %> >> >> </td> >> </tr> >> <tr> >> <td>Select country </td> >> <td> :</td> >> <td> >> <select id="user[country_id]" name="user[country_id]"> >> <option value="">Select Country </option> >> <%= options_from_collection_for_select( >> Country.find(:all), "id", "name") %> >> </select> >> </td> >> </tr> >> <tr> >> <td> Select State</td> >> <td>:</td> >> <td> >> <div id="state_list"> >> <%= select("user", "state_id", State.find(:all).collect{ |c| [ >> c.state, c.id] }, {:prompt => ''Select >> State''},{:onchange=>''display_msg();''}) %> >> >> <%= observe_field("user[country_id]", >> :frequency => 0.50, >> :update => "user_state_id", >> :url => {:action => :load_states}, >> :with => "''country_id=''+value") >> %> >> </div> >> </td> >> </tr> >> >> <tr> >> <td colspan="3" align="center"> >> <%= f.submit "Register" >> ,{:onclick=>"display_msg(document.getElementById(''user_name'').value)" >> }%> >> <%= f.submit "List Users" %> >> </td> >> </tr> >> <% end %> >> >> Controller contains >> def create >> @languages = Language.find(:all) >> if request.post? and params[:commit] == "Register" >> @user = User.new(params[:user]) >> >> @user.save >> @user.user_language = User_Language.new(params[:user_language]) >> redirect_to :action => ''list_users'' >> end >> when trying an error occurs . Pls help! >> -- >> 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 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 -~----------~----~----~----~------~----~------~--~---
Start learn from here : http://railscasts.com/episodes/73-complex-forms-part-1 and then follow up to episode 3. Y Reinhart AP -- 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 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 -~----------~----~----~----~------~----~------~--~---
Rails Terrorist wrote:> Start learn from here : > http://railscasts.com/episodes/73-complex-forms-part-1 > > and then follow up to episode 3. > > Y Reinhart APThank you and solved my issue -- 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 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 -~----------~----~----~----~------~----~------~--~---