On 8 March 2011 16:07, A. Mcbomb <[email protected]> wrote: > I am passing several params from my view but need to put some logic > behind one of them. I pass a value of either "Yes" or "No" from my view > to the controller with the param known as "completed" under "update". > > Here is my controller and view which works fine: > > view-> > > <%= form_tag :action => 'update', :id => @project %> > <% form_for :project do |f| -%> > <table> > <tr> > <td><label for= "name">Project Name</label> > <%= f.text_field :name %> > </td><td> > <%= f.label :completed %> > <%= f.select(:completed, ["No", "Yes"] )%> > </td></tr></table> > <%= submit_tag 'Submit' %> > <%= form_tag %> > <% end -%> > > controller-> > > def update > @project = Project.find(params[:id]) > if @project.update_attributes(params[:project]) > redirect_to :action => 'index', :id => @project > else > render :action => 'edit' > end > end > > I would like to add some logic to do something if the "completed" param > is equal to "Yes". Here is my attempt but it doesn't work: > > def update > @project = Project.find(params[:id]) > if @project.update_attributes(params[:project]) > if params[:completed] == "Yes" do "something here" end
When you say it does not work what do you mean? If it is just a syntax error that is because you have not got the syntax for 'if' right, it should be if params[:completed] == "Yes" ..... end Note however that you are doing it *after* the record is saved, which happens in update_attributes. If you are trying to do it before the save then move it up to before the update. Colin -- 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.

