2016-08-03 1 views
2

меня принять/снижение как переключатель:Как создать кнопки Accept/Decline с булевыми?

<%= 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

Вы можете использовать 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 
0

В контроллере ... проверить значение кнопки отправки, - которая будет либо «принять» или «уклонение», и на основе этого задайте логическое значение.

0

Это мой опыт

Когда вы устанавливаете флажок и не устанавливаете какое-либо значение, оно автоматически отправляет логическое значение. Это означает, что это правда или ложь. Если флажок установлен, значение будет истинным или одно, и если поле не будет снято, то значение будет ложным или 0.

Надеюсь, это поможет.

Смежные вопросы