当我在 Rails 中为同一个表单创建多个按钮时,我可以使用 param[:commit] 的值来确定按下了哪个按钮。
但是,我有一个搜索结果页面,用户可以在其中进一步细化搜索,通过选择或取消选择构面来更新结果,更改日期过滤器等。我希望能够在何时使用 javascript 触发 form.submit()例如,选中/取消选中构面复选框。如何将参数(例如 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
提前非常感谢。
克里斯蒂