2012-12-21 9 views
6

は、私ははい、私は同じ形で2提出しなければならないのはこのコントローラでfmitの名前パラメータを取得するにはどうすればよいですか?

<%= 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 %> 

のようにコード化されていますここで_form.html.erbを作成し、それらの両方は、このような「更新」として名前を持ち、「破棄します」 。

ユーザーが[破棄]ボタンを押すと、books_controllerの更新アクションが呼び出されます。
であり、 '更新'か '破棄'かどうかを判断します。
そのために、コントローラでその名前パラメータを取得するにはどうすればよいですか?

更新アクションは、フォームの他の入力値が必要なのか、破棄この

def update 

if params[:books][:name] == 'destroy' 
    destroy transaction 
else 
    update transaction 
end 

end 
+0

あなたがあなたのパラメーターで持っているものを検査しようとしました –

答えて

4

今すぐ

<%= f.submit 'Update', :class => 'btn btn-primary', :name => 'submit' %> 
<%= f.submit 'Destroy', :class => 'btn btn-danger', :name => 'submit' %> 

、これを試してみてください最初のフォームあなたが「更新」と あなたはDとしてparams[:submit]を取得しますます更新エストロイあなたのコントローラーでparams[:submit]を「破壊する」ようにします

0

のようなものでしょうか?

更新アクションをターゲットとする入力とdestoyアクションをターゲットとする破棄ボタンのみを持つ2つのフォームを持つ方が簡単です(そしてよりクリーン)でしょうか?

あなたは他の入力にアクセスするためにが必要た場合、私はまだあなたは、2つの異なるアクションと2つの異なる形式を持つことを示唆している、私はさらにあなたがから必要なフィールドの値を取得するためにJS/jQueryのを使用することをお勧めします二番目の形式を提出する際に

+0

おかげで私はそれについて考えましたが、私は各フォームに2つのキャプチャー画像 – HUSTEN

関連する問題