如何使用布尔创建接受/拒绝按钮?

时间:2016-08-03 23:14:37

标签: ruby-on-rails ruby boolean submit checkmark

我接受/拒绝作为开关:

<%= form_for @dueler do |f| %>
  <%= f.check_box :accept, class: 'someclass', :data => { 'on-text'=>'Decline', 'off-text'=>'Accept'} %> 
  <script>
    $("[class='someclass']").bootstrapSwitch();
  </script>
  <%= button_tag(type: 'submit')  do %>
    Save
  <% end %>
<% end %>

但是我想把它们分成两个单独的按钮。如果用户点击一个,那么如何使用相应的:accept值自动提交的位置:

<%= button_tag(type: 'submit')  do %>
  Accept # submits & makes :accept true
<% end %><br><br>

<%= button_tag(type: 'submit')  do %>
  Decline # submits & makes :accept false
<% end %>

3 个答案:

答案 0 :(得分:3)

您可以使用f.button传递您将在控制器中使用的参数:

在您看来:

<%= f.button "Accept", name: "button_action", value: "accept" %>
<%= f.button "Decline", name: "button_action", value: "decline" %>

在您的控制器中使用参数值:

if params['button_action'] == 'accept'
else
end

答案 1 :(得分:0)

在您的控制器中...检查提交按钮的值 - 这将是&#34;接受&#34;或&#34;拒绝&#34;并根据它设置布尔值。

答案 2 :(得分:0)

这是我的经历

当您复选框并且未设置任何值时,它会自动发送布尔值。这意味着真或假。选中复选框时,值为true或者如果框未标记,则值为false或0。

希望它有所帮助。