_form.html.erbを作成しました。このコードは次のようになっています。
<%= form_for @book, :html => { :class => 'form-horizontal' } do |f| %>
....
<%= f.submit nil, :class => 'btn btn-primary', :name => 'update' %>
<%= f.submit 'Destroy', :class => 'btn btn-danger', :name => 'destroy' %>
....
<% end %>
はい、同じフォームに2つの送信があり、どちらにも「更新」や「破棄」などの名前が付いています。
ユーザーが破棄ボタンを押すと、books_controllerの更新アクションが呼び出されます。
そして、それが「更新」要求か「破棄」要求かを判断します。
そのために、コントローラーでその名前パラメーターを取得するにはどうすればよいですか?
更新アクションは次のようになります
def update
if params[:books][:name] == 'destroy'
destroy transaction
else
update transaction
end
end