作为Ruby on Rails 3开发人员的开始,我正在寻找关于如何最好使用一组单选按钮来验证表单的建议。这种特殊的形式是一个具有多种形式的网络应用程序的一部分 - 我的控制器根据选择的答案将流程定向到不同的形式。Rails 3 - 仅使用一组单选按钮验证表单
我html.erb片段:
<%= form_for @selection do |f| %>
<%= f.error_messages %>
<div class="field">
<%= f.radio_button :answer, 'Y' %>
<%= f.label :answer, 'Y' %>
<br/>
<%= f.radio_button :answer, 'N' %>
<%= f.label :answer, 'N' %>
</div>
<div class="action">
<%= submit_tag 'Save', :name => 'save_button' %>
<%= submit_tag 'Continue', :name => 'submit' %>
</div>
<%端%>
Selection.rb(模型):
require 'active_model'
class Selection
include ActiveModel::Validations
include ActiveModel::Conversion
extend ActiveModel::Naming
attr_accessor :answer
validates_presence_of :answer
def initialize(attributes = {})
attributes.each do |name, value|
send("#{name}=", value)
end
end
def persisted?
false
end
end
随着比提交按钮其他只有一种形式元件,当我没有选择其中一个单选按钮时,我收到了一个零错误。我能得到的时候我做了两件事情之一验证正常工作 - 另一个字段添加到窗体和模型或设置默认值:
@selection = Selection.new(:answer => "N")
我选择去的默认值解决方案,没有任何验证需求,但想知道如果我的用户不想要预先选择的答案,是否有更好的方式来设置我的应用程序。
谢谢,这工作。 – JW8