【发布时间】:2015-02-16 12:26:25
【问题描述】:
是否可以使用强参数来确保使用可能值的白名单过滤属性?
例如,我有一个参数年龄,我想确保它只能有这个值 [10,20,30,40,50]。是否可以使用强参数逻辑来确保这一点?
谢谢
【问题讨论】:
-
验证有什么问题?
标签: ruby-on-rails ruby ruby-on-rails-4 strong-parameters
是否可以使用强参数来确保使用可能值的白名单过滤属性?
例如,我有一个参数年龄,我想确保它只能有这个值 [10,20,30,40,50]。是否可以使用强参数逻辑来确保这一点?
谢谢
【问题讨论】:
标签: ruby-on-rails ruby ruby-on-rails-4 strong-parameters
快速解答
不! Strong parameters 只允许您从哈希中过滤键,而不管它们的值如何。
长答案
不!但正如 cmets 中指出的那样,您最好的解决方案是使用validations:
class MyModel < ActiveRecord::Base
validates :value, inclusion: { in: [1,2,3] }
end
【讨论】: