Rails 4 中使用强参数的值白名单

Value whitelist using strong parameters in Rails 4

是否可以使用强参数来确保使用可能值的白名单过滤属性?

例如,我有一个参数age,我想确保它只能有这个值[10,20,30,40,50]。是否可以使用强参数逻辑来确保?

谢谢

快答

不! Strong parameters 只允许您从散列中过滤键,而不管它们具有什么值。

长答案

不!但正如评论中指出的那样,最好的解决方案是使用 validations:

class MyModel < ActiveRecord::Base
  validates :value, inclusion: { in: [1,2,3] }
end