On Thu, Oct 27, 2011 at 6:23 PM, Angelo Cordova <[email protected]> wrote:
> Hello people
>
> I'm stuck in a problem, I've tried to solve this from last week and I
> still can't achieve it.
>
> I have a Form in my rails 3.0.9 app to "accept" or "reject" a
> document, untill now I'm using a collection select with two options
> "Accept" and "Reject", then I have to click on the submit button to
> save changes.
>
> What I want to do now is, instead of the collection select I want to
> have two buttons, one named "accept" and the other named "reject" and
> when the user click one of the buttons, save the changes inmediately.
>
> Does anyone know how can I do this?? (I've tried with "button_to", but
> I don't know how to change the value of the attribute). Thanks
>
In the Form, you can set two buttons with a different text
Accept
Reject
I presume that could be
submit_tag("Accept")
submit_tag("Reject")
with the appropriate html around it.
Then when the user clicks one of the two buttons, you will get a POST
request that will contain params and one of the params will have the key
"commit"
Parameters: {"utf8"=>"✓",
"authenticity_token"=>"eW3HL1vjUzTcqpFvDcXnu9rGGUhFFe6vcwqfaA/4nWE=",
"user"=>{"first_name"=>"Peter", "last_name"=>"V",.. }, "commit"=>"Accept"}
So in the action if you can check
params[:commit]
which should be either "Accept" or "Reject" and can use that for your logic.
as in
case params[:commit]
when "Accept"
# do the accept
when "Reject"
# do the reject
else
# should not occur (but it can in certain circumstances)
end
HTH,
Peter
--
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.