ruby on rails - Multiple update forms for one model -


i want have multiple forms on 1 page. let's make example understand want:

i have page admins, let's it's admins#show page. admin has change name on 1 form on page , on form age. know create 1 form want have multiple forms (because example). admins#show page looks this:

<%= form_for @admin |a| %>     <%= a.label :name %>     <%= a.text_field :name %>     <%= a.submit "submit name change" %> <% end %>  <%= form_for @admin |e| %>     <%= e.label :age %>     <%= e.number_field :age %>     <%= e.submit "submit age change" %> <% end %> 

but in controller, don't know how works , here problem. think have this, how divide form inputs in update method?:

def edit     @admin = admin.find(params[:id]) end  def update     @admin= admin.find(params[:id])     if @admin.update_attributes(:name=> admin_params1[:name])         redirect_to @admin     else         render 'edit'     end      if @admin.update_attributes(:age=> admin_params2[:age])         redirect_to @admin     else         render 'edit'     end end   private  def admin_params1     params.require(:admin).permit(:name) end  def admin_params2     params.require(:admin).permit(:age) end 

well, think create other non-rest methods in controller , add named routes in config/routes add 2 different forms similar this;

<%= form_for :admin_name, url: admin_name_path, method: :post |a| %>     <%= a.label :name %>     <%= a.text_field :name %>     <%= a.submit "submit name change" %> <% end %>  <%= form_for :admin_age, url: admin_age_path, method: :post |e| %>     <%= e.label :age %>     <%= e.number_field :age %>     <%= e.submit "submit age change" %> <% end %> 

then this;

def update_age     @admin = admin.find(params[:admin_age][:id])     if params[:admin_age]         @admin.update_attributes(:age=> params[:admin_age][:age])         redirect_to @admin     else         render 'edit'     end  end  def update_name     @admin = admin.find(params[:admin_name][:id])     if params[:admin_name]         @admin.update_attributes(:name=> params[:admin_name][:name])         redirect_to @admin     else         render 'edit'     end  end 

** not tested bugs


Comments

Popular posts from this blog

database - VFP Grid + SQL server 2008 - grid not showing correctly -

jquery - Set jPicker field to empty value -

.htaccess - htaccess convert request to clean url and add slash at the end of the url -