2011-06-24 56 views
0

例如,我想要一個方法名稱'owner',它返回文章的所有者或評論兩個模型,文章和評論。 而不是增加如何管理多個模型的重複方法?

def owner 
    user 
end 

到每一個模型,有1層的方法來管理多個模型的方法嗎?

+0

如果此方法特別是您想要添加的內容,將您的關聯重命名爲所有者而不是用戶可能更有意義。或者可能是「作者」和「評論者」 – MissingHandle

回答

1

有幾種方法來處理這樣的:

  1. 包括含有該方法中的每個模型

  2. 一個模塊的實例方法添加到ActiveRecord基地

  3. 添加method_missing其是或多或少與上述相同的原則,但多一點點hacky

1的優點是,它僅包括在你想要的模型的方法,但是喲必須包括行...

的2 & 3的優點是,你有沒有需要包括模塊,但每個模型都會有,即使不相關。

相關問題