rails验证特定值

时间:2016-10-14 22:50:31

标签: ruby-on-rails validation inclusion

我有这段代码

我有这些选项,如果用户选择除“不列颠哥伦比亚省”之外的任何内容 给他错误的消息,该省有'不列颠哥伦比亚省'

我相信它会通过使用模型验证来解决

<%= f.label :province ,"Province (required)"%><br>
    <%= f.select(:province, [["Select One", ""],'Alberta','British Columbia','Manitoba','New Brunswick','Newfoundland and Labrador','Nova Scotia','Northwest Territories','Nunavut','Ontario','Prince Edward Island','Quebec','Saskatchewan','Yukon'], {}) %>

User.rb

  validates :province, presence: "British Columbia"

1 个答案:

答案 0 :(得分:5)

你不应该使用存在;这是错误的验证。您应该使用inclusion

validates: province, inclusion: { in: ["British Columbia"] }

你意识到这是一个非感性问题,对吧?如果验证只接受一个,那么在视图中提供几个备选方案有什么意义呢?