Forms send the name/value pairs of all the input elements to the server. 
Forms also send the name/value of the button that was clicked.  If you 
examine the railscast screenshot where he is checking the log to see 
what the checkbox parameters are being sent in the request, you will 
also see this parameter:

'commit' => 'Mark as Complete'

'Mark as Complete' is the text on the button, so you can deduce that 
must be a name/value pair for the button.  If 'Mark as Complete' is the 
value, what is the name part of that name/value pair?  Answer: 'commit'. 
Where does the name 'commit' come from?  IN the railscast he never names 
the button--all he does is write this:

<%= submit_tag "Mark as Complete" %>

But if you check the docs for submit_tag(), rails give the button the 
name 'commit'.

If you name all your buttons 'commit', then in your action to determine 
what button was clicked, all you have to do is write:

case params[:commit]
when "text on button1"
  #do something
when "text on button2"
  #do something else
when "Mark as Complete"
  #do that
else
  #Error
end

-- 
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 [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.

Reply via email to