Fd779852eb8e519999f8b35c47777608

可以繼承gem裡的model嗎?

2012-08-27 19:59:48 +0800chiayiRuby on Rails 節點 中發起
最後由 chiayi2012-09-03 09:35:15 +0800回應 , 286次閱讀

我用mailboxer來做會話,由於它的model已經寫在gem裡
實際只需要寫controller和view就可以建構
但問題是想要在改寫部份model method,除了fork重新改寫外
可以在原本的rails專案中用繼承的方式改寫嗎?
謝謝

http://github.com/ging/mailboxer/tree/master/app/models

截至 2012-09-03 09:35:15 +0800,共收到 3 條回應
Fd779852eb8e519999f8b35c47777608
chiayi 1樓, 於2012-08-29 13:29:49 +0800回應

看來不可行,而且也不太滿意mailboxer,重寫成mongodb和redis混和版的好了

Fc2590129d5efa61a05f476c27b71698
fsword 2樓, 於2012-08-30 10:04:54 +0800回應

怎么改写method?能不能直接用open class或者其它元编程的方式改变这个class呢?

Fd779852eb8e519999f8b35c47777608
chiayi 3樓, 於2012-09-03 09:35:15 +0800回應

@fsword 如果只是自己開發的class可以用mixin的方式就擴充現有method;如果需要有繼承關係,可採用Single-table inheritance。

需要 登入 後方可回應,如果你還沒有帳號按這裡 註冊