作爲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