我可以为任意模型方法设置 Active Record 回调吗?我可以看到这将如何有用,类似于控制器中的 before_filter。
有没有办法做到这一点?
我可以为任意模型方法设置 Active Record 回调吗?我可以看到这将如何有用,类似于控制器中的 before_filter。
有没有办法做到这一点?
Active Model Callbacks 为任何类提供了一个接口,可以像回调一样拥有 Active Record。你可以在这里查看http://api.rubyonrails.org/classes/ActiveModel/Callbacks.html
这适用于模型中的任意方法。这是一个代码片段。
class MyModel
extend ActiveModel::Callbacks
define_model_callbacks :initialize, :only => :after
after_initialize :update_info
def initialize
run_callbacks :initialize do
# Your create action methods here
end
end
def update_info
puts 'info'
end
end
这将在完成“初始化”方法后调用“update_info”方法。