【发布时间】:2020-01-21 06:00:36
【问题描述】:
我们已经看到在 Rails 中我们对特定列执行验证,例如 -validates :first_name, presence: true
这个声明实际上是做什么的?我认为它为我们的模型类创建了一个类方法,其方法名为“first_name”。一旦有人执行 object.first_name 并查找此参数的值,就会调用此方法,如果 value 为空则引发错误,否则返回 true。
我不确定我是否在这里。如果有人可以解释整个周期,那就太好了。谢谢!
【问题讨论】:
-
在将对象保存到数据库之前检查是否存在 first_name 属性。它在写入之前完成一次,并且在检索对象时不再使用。
-
validates 是一种 ruby 方法,可确保仅将有效数据保存到数据库中。您也可以创建自己的自定义验证。
标签: ruby-on-rails ruby validation metaprogramming