如果用户没有选择任何单选按钮,我需要一种不发送表单的方法。
我希望在视图和控制器中,而不是在模型中(数据不应该被发送)
<%= 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 %>
答案 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();" %>