2013-01-21 139 views
2

我想爲模型創建多繼承。模型的多繼承

爲了做到這一點,我想是這樣的:

class User < ActiveRecord::Base, Devise::SessionsController 

什麼是正確做到這一點的呢?我認爲我的語法不正確。

回答

3

Ruby不支持多重繼承。要在模型之間共享功能,您需要使用mixin。查看this article,特別是關於mixin的部分。

+0

謝謝你,所以我應該這樣做: 類用戶<的ActiveRecord :: Base的 包括制定:: SessionsController –

+2

是的,然後如果你有要包括附加的功能,您可以添加這樣一行'在你的用戶類中包含MyAdditionalStuff'或'extends MyAdditionalStuff'以添加MyAdditionalStuff模塊。請務必閱讀'include'和'extend'之間的區別。這裏是一個概述 - http://railstips.org/blog/archives/2009/05/15/include-vs-extend-in-ruby/。如果您還不知道實例和類方法之間的差異,請按照第一段FIRST中的鏈接進行操作。 –

+0

非常感謝! –