2013-07-01 89 views
1

我有一個rails應用程序,它使用在rails引擎中定義的ActiveRecord模型。我想添加一些方法到該類(在這種情況下FormInstance),所以我只是使用語法:從rails引擎擴展ActiveRecord類

class FormInstance 
    def mynewmethod 
    #..my code here.. 
    end 
end 

但這似乎不工作。它確實使用新方法創建FormInstance類,但它不擴展Engine類,所有FormInstance類的原始方法都消失了。什麼是正確的方法來做到這一點?

ENV:鐵路3.2.13,紅寶石2.0.0

回答

0

您可以使用Decorator模式去做。有多種方式來實現它。看看activesupport-decorators gem。它掛鉤到Rails的ActiveSupport中,並且增加了一個約定來處理從循環依賴中安全的裝飾器。我們一段時間以來一直在多個應用程序中使用它。

https://github.com/EPI-USE-Labs/activesupport-decorators