我的应用程序中有一个重要的模型,有许多关联.如果我想检查before_destroy回调中的所有引用,我必须执行以下操作:
has_many :models_1
has_many :models_2
mas_many :models_3
....
....
has_many :models_n
before_destroy :ensure_not_referenced
def :ensure_not_referenced
if models_1.empty? and models_2.empty? and models_3.empty? and ... and models_n.empty?
return true
else
return false
errors.add(:base,'Error message')
end
end
Run Code Online (Sandbox Code Playgroud)
问题是,有没有办法立即执行所有验证?感谢名单!
我升级到Rails 3.0.5和Devise 1.1.8.当我尝试删除任何对象时(通过带有:remote => true的视图),我得到一个身份验证对话框,并且销毁了Devise会话.然后,我必须再次登录,对象仍在那里......其他人是否有这个问题?关于如何解决它的任何想法?
非常感谢你.