I''m sure many of you have run across this one. Using ajax forms in
rails
with multiple submits always sends the value of the first defined submit 
tag rather than the one that is clicked. This is actually against rfc 
and I have read the open trac ticket and they are just trying to figure 
out the best way to solve it since the problem is actually with the 
serialization in prototype. Anyway, I use this little trick to get past 
it and it works well so I thought I would share.
Add a hidden field to the form and a simple onclick action to the submit 
buttons:
<% form_remote_tag :url => {:action =>
''dispatch_to_wanted_method''} do -%>
    <%= hidden_field_tag :commit_choice %>
    ... (rest of form)
    <%= submit_tag ''Choice 1'', :onclick => 
"$(''commit_choice'').value=this.value" %>
    <%= submit_tag ''Choice 2'', :onclick => 
"$(''commit_choice'').value=this.value" %>
<% end -%>
Then, use an if or case statement in your action to look at the value of 
params[:commit_choice] instead of the actual commit buttons.
Hope this helps save someone some time.
-Bill
-- 
Sincerely,
William Pratt
--~--~---------~--~----~------------~-------~--~----~
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
-~----------~----~----~----~------~----~------~--~---