0

我有以下

class Item < ActiveRecord::Base
    after_create TellMe
end

class TellMe
  def self.after_create(model)
end

并希望能够做类似的事情:

i=Item.new :name => 'my test name'
i.send(:TellMe.after_create)

类似于我如何在公共方法上调用发送?看起来我可以

i.instance_eval 'TellMe.after_create(self)'

但感觉有点丑(除其他外)

4

1 回答 1

1

触发回调的唯一方法是做一个合格的事件,在这种情况下,创建一个项目。

作为您想要的解决方法,您可以创建另一个方法,该方法将完全执行回调将执行的操作,并且您可以像平常一样访问它

Class Item < ActiveRecord::Base

  def tellme(params)
    TellMe.function(params)
  end

end
于 2012-09-13T22:54:24.553 回答