当特定的ActiveRecord 验证失败时,是否有一种优雅的方式来调用方法?我正在设想类似...
验证 :email_address, :uniqueness => true, :when_fail => :call_method
当验证失败涉及我的控制器中的代码时,我有一种迂回的方式来调用该方法,但我正在寻找模型中更直接的东西。我在网上找不到任何相关的例子。
编辑了其他细节以关注这个问题。
当特定的ActiveRecord 验证失败时,是否有一种优雅的方式来调用方法?我正在设想类似...
验证 :email_address, :uniqueness => true, :when_fail => :call_method
当验证失败涉及我的控制器中的代码时,我有一种迂回的方式来调用该方法,但我正在寻找模型中更直接的东西。我在网上找不到任何相关的例子。
编辑了其他细节以关注这个问题。
模型中的这个呢?
Model < ActiveRecord::Base
after_validation do
self.my_method unless self.errors.empty?
end
end
对于特定的验证,您可以使用http://api.rubyonrails.org/classes/ActiveModel/Errors.html#method-i-5B-5D。