只是想知道是否有人知道如何运行after_validation逻辑,具体取决于:link attr是否有效?
validates :link, :uri_check => { :schemes => [:ftp, :http, :https] }
after_validation :initialize_dependents, :on => :create
def initialize_dependents
#post validation logic here
end
所以代替:on => :创造,也许......
after_validation :initialize_dependents, :if => link.valid?
问题是我只能访问字符串而不是对象。
任何帮助都将不胜感激。
由于
答案 0 :(得分:0)
尝试这样的:if
:
:if => Proc.new { --code here-- }
或
:if => :my_method?
def my_method?
--code here--
end
答案 1 :(得分:0)
知道了!只需要创建一个Observer。
class LinkObserver < ActiveRecord::Observer
after_validation(model)
#logic here
end
end