1

我可以为任意模型方法设置 Active Record 回调吗?我可以看到这将如何有用,类似于控制器中的 before_filter。

有没有办法做到这一点?

4

1 回答 1

1

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”方法。

于 2015-06-12T09:54:28.270 回答