带有选项的提交按钮
Submit button with Options
对于一个表单,我想要两个提交按钮,名称为:
Appove
、Decline
当用户点击 Approve
时,它也应该发送 approve: true
当用户点击 Decline
时,它也应该发送 approve: false
基本上按钮应该像复选框一样工作
这在 Rails 中可行吗?如何实现?谢谢
你可以做到,但你需要 js/jquery。您将有隐藏的复选框,您将以正确的方式检查它和两个按钮。
让我们假设您的表单有 id 'form'。你的复选框有 id 'approve_checkbox'
在这种情况下,你需要 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();
});
当然你可以简化这段代码,但我认为思路很清晰。
如果您使用的是标准 submit
表单助手,您将返回一个带有键 "commit" 的参数。您可以在您的控制器代码中对此进行测试。
<%= f.submit 'Approve' %>
<%= f.submit 'Decline' %>
在控制器中...
def create
approved = params[:commit] == 'Approve'
approved
变量将包含 true 或 false,您可以根据需要在其余操作/方法中使用它。
对于一个表单,我想要两个提交按钮,名称为:
Appove
、Decline
当用户点击 Approve
时,它也应该发送 approve: true
当用户点击 Decline
时,它也应该发送 approve: false
基本上按钮应该像复选框一样工作
这在 Rails 中可行吗?如何实现?谢谢
你可以做到,但你需要 js/jquery。您将有隐藏的复选框,您将以正确的方式检查它和两个按钮。 让我们假设您的表单有 id 'form'。你的复选框有 id 'approve_checkbox' 在这种情况下,你需要 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();
});
当然你可以简化这段代码,但我认为思路很清晰。
如果您使用的是标准 submit
表单助手,您将返回一个带有键 "commit" 的参数。您可以在您的控制器代码中对此进行测试。
<%= f.submit 'Approve' %>
<%= f.submit 'Decline' %>
在控制器中...
def create
approved = params[:commit] == 'Approve'
approved
变量将包含 true 或 false,您可以根据需要在其余操作/方法中使用它。