rails 验证特定值

rails validate specific value

我有这个代码

我有这些选项,如果用户 select 除了 'British Columbia' 给他报错信息说省得'British Columbia'

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

<%= 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"

您不应该使用状态,这是错误的验证。你应该使用 inclusion:

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

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