尝试就使用数组进行表单选择的最佳方法获得一些好的建议,但使用相同的数组来测试包含进行验证。
现在我有了它,但在元素和验证中构建数组,即
# Form
<%= f.select(:status, [['Live','live'], ['Paused', 'paused']]) %>
# Model
validates :status, :inclusion => { :in => %w(live paused) }
我确信有更好的方法来存储这些数组并使用它们!
感谢您提供的任何建议。
答案 0 :(得分:10)
您可以将这两个常量添加到模型中,然后调用验证:
VALID_STATES = ["live", "paused"]
SELECT_STATES = VALID_STATES.map { |s| [s.capitalize, s] }
validates :status, :inclusion => { :in => Model::VALID_STATES }