给出模型验证,例如
validates :my_number,
numericality: {
greater_than_or_equal_to: 1,
less_than_or_equal_to: 300
}
我如何阅读,例如在视图中显示这些值?
MyModel.validators_on(:my_number).first.options[:on_or_before]
似乎越来越近了。但是这会返回一个文件行引用,我不确定如何操作它来返回一个值。
#<Proc:0x007fa5a3d3eb90@/Path/To/Project/app/models/my_model.rb:128 (lambda)>
是否有方便的方法来访问这些验证值并在视图中执行某些操作,如
<p>This value must be between <%= @model.my_number.validation_greater_than %> and <%= @model.my_number.validation_less_than %></p>
答案 0 :(得分:0)
我会设置限制1
&amp; 300
在模型的常量中,然后在视图中访问它们,如:
... <%= ModelClass::MAX_MY_NUMBER % ... <%= ModelClass::MINIMUM_MY_NUMBER %> ...
并在模型验证中如下:
validates :my_number,
numericality: {
greater_than_or_equal_to: MINIMUM_MY_NUMBER,
less_than_or_equal_to: MAX_MY_NUMBER
}