Ruby on rails 在rails模型中获取数据时调用方法

Ruby on rails 在rails模型中获取数据时调用方法,ruby-on-rails,ruby,models,Ruby On Rails,Ruby,Models,我正在寻找一种解决方案,每当应用程序试图获取数据时,在Rails 4中调用一个方法(在一个模型中,例如在创建之前、创建之后等等) 例如,你有一个课程模型,你可以这样做 Course.first Course.all Course.where... 甚至通过关系 other_model.courses 我想自动调用一个方法,例如 def access_courses binding.pry end 这在课程模型中。这样做的目的是简化我正在构

我正在寻找一种解决方案,每当应用程序试图获取数据时,在Rails 4中调用一个方法(在一个模型中,例如在创建之前、创建之后等等)

例如,你有一个课程模型,你可以这样做

   Course.first
   Course.all
   Course.where...
甚至通过关系

   other_model.courses
我想自动调用一个方法,例如

   def access_courses

      binding.pry

   end
这在课程模型中。这样做的目的是简化我正在构建的很多东西,这些东西需要很多链接表

有办法吗?谢谢大家;)

来自:

最后,对于查找器找到并实例化的每个对象,都会触发
after\u find
after\u initialize
回调,而
after\u initialize
也会在实例化新对象后触发


所以其中一种或两种可能对你有用。。。尽管通常我会说不要使用这些:)。

在模型中查找回调后,你应该能够定义一个
,如链接答案中所述。你搜索得比我好,我想我会试试,因为我的问题涉及到很多方法来捕捉呼叫:)为什么“你通常会说不要使用这些?”?@Misha,因为这些方法是为了减轻情节,因为OP似乎需要。通常,对任何事情使用这些方法都是过分的,因为它们被访问了多少次。在大多数情况下,如果要在查找对象时执行操作,最好只使用查找对象并执行该操作的特殊方法,以便将额外的工作保留在有限的查找子集中。