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.

Reply via email to