Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Rails submit button: How do I have button run a certain method when clicked?

I'm learning how to build rails applications and I still do not fully understand how to make buttons do stuff. How do I make a particular method run using the attributes supplied in a form?

like image 795
Smooth Avatar asked Oct 02 '12 21:10

Smooth


1 Answers

<%= button_to "Acknowledged", { :controller => 'practice_sessions',
  :id => @practice_session.id}, 
  :method => :put %>

from https://stackoverflow.com/a/4198918/643500

Read http://edgeguides.rubyonrails.org/getting_started.html

More Examples

<%= button_to "New", :action => "new" %>
# => "<form method="post" action="/controller/new" class="button_to">
#      <div><input value="New" type="submit" /></div>
#    </form>"

<%= button_to "New", :action => "new", :form_class => "new-thing" %>
# => "<form method="post" action="/controller/new" class="new-thing">
#      <div><input value="New" type="submit" /></div>
#    </form>"

<%= button_to "Create", :action => "create", :remote => true, :form => { "data-type" => "json" } %>
# => "<form method="post" action="/images/create" class="button_to" data-remote="true" data-type="json">
#      <div><input value="Create" type="submit" /></div>
#    </form>"

<%= button_to "Delete Image", { :action => "delete", :id => @image.id },
          :confirm => "Are you sure?", :method => :delete %>
# => "<form method="post" action="/images/delete/1" class="button_to">
#      <div>
#        <input type="hidden" name="_method" value="delete" />
#        <input data-confirm='Are you sure?' value="Delete" type="submit" />
#      </div>
#    </form>"

from http://apidock.com/rails/ActionView/Helpers/UrlHelper/button_to

like image 194
Sully Avatar answered Oct 14 '22 21:10

Sully