ActiveRecord如何实现`:if => …`关于验证
我一直在查看ActiveRecord源以了解
:if => proc_or_method_name
如何在ActiveRecord验证上工作,但源中:if
的唯一实例是在解释如何调用该功能的注释中。
例如,您可以在模型中使用如下行:
validates_presence_of :name, :if => :nameable?
如果nameable?
方法返回给定模型的真值,则仅检查验证。
这个功能实际定义在哪里,因为我在(Rails2)源中的任何地方都找不到这种行为?
没有找到相关结果
已邀请:
2 个回复
博沮富教全
中检查
选项。 调用方法
来检查是否应该执行回调。 还要看一下如何处理回调链,从同一文件中的
方法开始。 该文件的v2.3.8中的一些代码是:
这是我发现的方式(万一有人感兴趣): 从github下载Rails v2.3.8并解压缩它。 在所有.rb文件中使用pp1ѭ进行grepp'ed 在
中,找到了一条评论: 为所有验证添加了:if选项,可以使用块或方法指针来确定是否应该运行验证。 #1324 [Duane Johnson / jhosteny]。 谷歌的评论。在谷歌缓存中找到它。 发现该评论/添加是在大卫05/21/05 10:57:18进行的 位于第546页的rails github历史上的2005-05-21日期: 了解
的工作原理 发现在v2.3.8中不再存在提交的提交代码。必须找到该代码的最新位置 再次grepp'ed
然后去了感觉“好”的每个文件。来到
在文件中搜索了
,它只在一个位置找到,方法是
。 发表回答 交叉的手指等待赏金。 :d 那很有趣!
系漏