On Tue, Mar 8, 2011 at 12:07 PM, A. Mcbomb <li...@ruby-forum.com> 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
>   redirect_to :action => 'index', :id => @project
>  else
>  render :action => 'edit'
>  end
> end
>
> Can anyone help me put some logic in for just the value of the completed
> param?
>
>
you have a form inside another form. change it to



<% 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 -%>


catch what you want like this params[:project][:completed]

-- 
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@googlegroups.com.
To unsubscribe from this group, send email to 
rubyonrails-talk+unsubscr...@googlegroups.com.
For more options, visit this group at 
http://groups.google.com/group/rubyonrails-talk?hl=en.

Reply via email to