Rails需要来自集合

时间:2017-10-13 13:44:06

标签: ruby-on-rails forms radio-button

如果用户没有选择任何单选按钮,我需要一种不发送表单的方法。

我希望在视图和控制器中,而不是在模型中(数据不应该被发送)

<%= form_tag("/bookings/new", method: "get") do %>
  <% @flights.each do |flight| %>
    <%= radio_button_tag :flight_id, flight.id %>
  <% end %>
  <%= submit_tag "book now" %>
<% end %>
编辑,澄清
通常我会这样做 <%= f.text_field :name, required: true %>
但是,由于我有很多单选按钮,我只需要一个单独的工作表单,我不知道如何实现它

1 个答案:

答案 0 :(得分:1)

如果禁用了javascript,您可以在模型中设置验证以查看是否存在复选框。这是一种更强大的方法。

validates :flight_id, :acceptance => true

这里的文档 - http://guides.rubyonrails.org/active_record_validations.html#acceptance

编辑

function validateCheckBox() {
    var x = document.getElementById("flight_id").checked;
    if(!x) {alert("Not checked")}        
}

<%= submit_tag "book now" , :onclick => "validateCheckBox();" %>