Rails で同じフォームに複数のボタンを作成する場合、param[:commit] の値を使用して、どのボタンが押されたかを把握できます。
Railsで同じフォームに複数の送信ボタンを作成するにはどうすればよいですか?
ただし、ユーザーが検索をさらに絞り込んだり、ファセットを選択または選択解除したり、日付フィルターを変更したりして結果を更新できる検索結果ページがあります。たとえば、ファセット チェックボックスがオン/オフになっています。パラメーター (param[:commit] メカニズムなど) をコントローラーに渡して、どのユーザー アクションが更新をトリガーしたかを知るにはどうすればよいですか。すべてをボタンにしたくありません。
$('.facet').on('change', function(e) {
// Do some stuff
var $form = $(this).closest('form');
$form.submit(); // I want to pass in a "facet-selected" here so I know what triggered the submit
});
このようなコントローラーメソッドで
def refresh_search
if params[:commit] == 'facet-selected'
# Do something
elsif params[:commit] == 'date-range-changed'
# Do something else
end
end
よろしくお願いします。
クリスティー