ruby-on-rails – 验证如何在ActiveRecord中运行?
发布时间:2020-12-17 07:09:31 所属栏目:百科 来源:网络整理
导读:要在Rails中的Model中设置验证,我应该写如下: class Post ActiveRecord::Base validates :name,:presence = true validates :title,:presence = true,:length = { :minimum = 5 }end 我无法弄清楚它是如何工作的.看起来它正在调用一个名为validates的方法并
要在Rails中的Model中设置验证,我应该写如下:
class Post < ActiveRecord::Base validates :name,:presence => true validates :title,:presence => true,:length => { :minimum => 5 } end 我无法弄清楚它是如何工作的.看起来它正在调用一个名为validates的方法并且正在传递参数,但这不可能是因为,我相信我不能直接在类体中调用方法. 那么这里究竟发生了什么? 更新 从答案看来,这似乎是从固有的Base类调用一个方法,但为什么这不起作用?: class Parent def foo puts "called foo" end end class Child < Parent foo foo end 解决方法
你写道“但这不可能是因为(我相信)你不能直接在类体中调用方法.”
但事实并非如此 – 代码在加载类时正在执行 考虑一下: class Hi puts "yo" end 你会得到: yo => nil puts在加载时执行.因此,您可以使用它来创建其他方法或执行您需要的任何操作. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |