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
是否可以使用强参数来确保使用可能值的白名单过滤属性?
例如,我有一个参数age,我想确保它只能有这个值[10,20,30,40,50]。是否可以使用强参数逻辑来确保?
谢谢
快答
不! Strong parameters 只允许您从散列中过滤键,而不管它们具有什么值。
长答案
不!但正如评论中指出的那样,最好的解决方案是使用 validations:
class MyModel < ActiveRecord::Base
validates :value, inclusion: { in: [1,2,3] }
end