Ruby on rails 在RubyonRails中查找后调用模型中的方法

Ruby on rails 在RubyonRails中查找后调用模型中的方法,ruby-on-rails,model,Ruby On Rails,Model,我想知道在使用find之后是否可以从模型中调用方法 类似于保存后的,但查找后的 谢谢,, Gabriel.编辑:对于Rails>=3,请参见@此处无特殊说明的答案 有。与初始化后的一样,查找后的也是一个特例。您必须定义方法,在查找之后:某些方法是不够的。不过,这应该是可行的: class Post < ActiveRecord::Base def after_find # do something here end end class Post

我想知道在使用find之后是否可以从模型中调用方法

类似于保存后的
,但查找后的

谢谢,,
Gabriel.

编辑:对于Rails>=3,请参见@此处无特殊说明的答案

有。与初始化后的
一样,查找后的
也是一个特例。您必须定义方法,
在查找之后:某些方法是不够的。不过,这应该是可行的:

class Post < ActiveRecord::Base
  def after_find
    # do something here
  end
end
class Post

您可以在中阅读更多信息。

有趣的是,这将调用该方法两次。。。这是一次艰苦的学习

class Post < ActiveRecord::Base     
  after_find :after_find

  def after_find
    # do something here      
  end 
end
class Post
如今((26.04.2012)这是实现这一目标的正确方法(而且有效!):

class SomeClass < ActiveRecord::Base
  after_find :do_something

  def do_something
    # code
  end
end
class-SomeClass
如果您需要方法中找到的对象:

class SomeClass < ActiveRecord::Base
  after_find{ |o| do_something(o) }

  def do_something(o)
    # ...
  end
end
class-SomeClass
详情如下: