2011-05-25 51 views
0

我在写一个我想要扩展模型的gem。我想在我的宝石定义的类为:使用另一个类扩展导轨模型

class UserModel < ActiveRecord::Base 

,然后用户模型为:

class User < Adauth::UserModel 

但是这引起了活动记录扔了一个表,因为它使用的usermodel未未找到错误型号名称的用户。

我不能指定模型名称,因为我打算有一个命名的生成器创建用户作为默认模型。

我假设它不可能从定义行中的2个类/模块继承,所以如何将Adauth :: UserModel中的所有方法导入到模型中?

回答

3

我不知道这是否是针对您的问题的最佳解决方案,但您可以尝试使用mixins。

用你想要的所有方法定义一个模块UserModel。

module Adauth 
    module UserModel 
    # methods go here 
    end 
end 

,然后当你定义你的模型:

class User < ActiveRecord::Base 
    include Adauth::UserModel 
end