2014-08-31 84 views
1

我正在尋找一種解決方案,以便在Rails 4中調用方法(如模型內的before_create,after_create等),並且每當應用程序嘗試獲取數據時...在Rails模型中獲取數據時調用方法

例如你當然有模式,你甚至可以通過關係

other_model.courses 

我想自動調用的方法做類似

Course.first 
    Course.all 
    Course.where... 

或諸如

def access_courses 

     binding.pry 

    end 

這是課程模型中的內容。這樣做的目的是爲了簡化很多東西,我需要大量的鏈接表...

有沒有辦法做到這一點?謝謝大家;)

+0

您應該能夠在模型中定義'after_find'回調,如鏈接答案中所述。 – 2014-08-31 15:56:13

+0

你比我更好地搜索我認爲^^我會嘗試一下,因爲我的問題涉及很多方法來接電話:) – Laurent 2014-08-31 15:56:53

回答

1

ActiveRecord::Callbacks documentation

最後一個after_findafter_initialize觸發回調對於通過取景器發現和實例化的每個對象,以after_initialize後新的對象實例化以及被觸發。

因此,一個或兩個這些可能對你有用...雖然通常我會說不使用這些:)。

+0

爲什麼「你通常會說不使用這些」? – Mischa 2014-08-31 22:51:11

+0

@Mischa,因爲這些方法是爲了減輕情況,因爲OP似乎需要。通常情況下,使用這些方法對於任何事情都是過度的,因爲它們被訪問了多少次。對於大多數情況,如果您想要執行查找對象的操作,最好使用一種特殊的方法來查找對象並執行該操作,以便將額外的工作保留在有限的查找子集中。 – pdobb 2014-08-31 23:26:13