【发布时间】:2017-04-26 20:33:42
【问题描述】:
我在 Rails 5.0 上。我对如何评估我是否有一个有效的模型感到困惑。我有一个使用这种方法的模型
class MyObjectTime < ActiveRecord::Base
...
validate :valid_method
def valid_method
false
end
请注意,我在有效方法中硬编码了“false”,但即使我创建了此类的对象并调用“obj.valid?”,即使我已经操纵了东西,我也会得到“true”因此模型永远不会有效。在确定模型是否有效时,我还需要做什么来考虑我的“valid_method”方法?
【问题讨论】:
-
如果您转到api.rubyonrails.org/classes/ActiveModel/Validations/…,您会注意到您需要添加
errors收集一个错误,说明发生了什么。这就是应该使用validate的方式。 -
正如@fanta 指出的那样,除非你能以错误的形式给出原因,否则它被认为是一个有效的模型。
-
API 文档还提到:“注意验证方法的返回值是不相关的。”
标签: ruby-on-rails ruby validation model ruby-on-rails-5