对于一个表单,我想要两个提交按钮,名为:
Appove
,Decline
当用户点击Approve
时,它也应该发送approve: true
当用户点击Decline
时,它也应该发送approve: false
基本上按钮应该像复选框一样工作
这是否可以使用Rails以及如何实现它?谢谢
答案 0 :(得分:2)
如果您正在使用标准的submit
表单帮助程序,则会返回一个包含密钥" commit"的参数。您可以在控制器代码中对此进行测试。
<%= f.submit 'Approve' %>
<%= f.submit 'Decline' %>
控制器中的......
def create
approved = params[:commit] == 'Approve'
approved
变量将包含true或false,您可以根据需要在其余的action / method中使用它。
答案 1 :(得分:1)
你可以这样做,但你需要js / jquery。你将有隐藏的复选框,你将以适当的方式和两个按钮检查。 让我们假设您的表单有id&#39;形式&#39;。而且,您的复选框已设有ID&#39; approve_checkbox&#39; 在这种情况下,您需要submit函数来完成此类操作。
$('#approve_button').on('click', function(e){
e.preventDefault();
$('#approve_checkbox').prop('checked', true);
$('#form').submit();
});
$('#decline_button').on('click', function(e){
e.preventDefault();
$('#approve_checkbox').prop('checked', false);
$('#form').submit();
});
当然你可以简化这段代码,但我认为这个想法很明确。