我正在编写一个我希望扩展模型的gem。我尝试在我的gem中定义类:
class UserModel < ActiveRecord::Base
然后用户模型为:
class User < Adauth::UserModel
但这会导致Active Record抛出一个未找到表的错误,因为它使用的是UserModel而不是用户的模型名称。
我无法指定模型名称,因为我打算让命名生成器创建模型,默认使用User。
我假设不可能从定义行中的2个类/模块继承,那么如何将Adauth :: UserModel中的所有方法导入到模型中?
答案 0 :(得分:3)
我不知道这是否是您问题的最佳解决方案,但您可以尝试使用mixins。
使用您想要的所有方法定义模块UserModel。
module Adauth
module UserModel
# methods go here
end
end
然后在定义模型时:
class User < ActiveRecord::Base
include Adauth::UserModel
end