论坛首页 编程语言技术论坛

如何实现在model与继承的ActiveRecord::Base中间增加一层中间类

浏览 2079 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2010-07-23  
我的目的是在实际的model类与继承的ActiveRecord中间添加一个中间类用来执行一些所有model都需要做的动作,比如统一修改主键字段名等,举个例子:


#中间类
class AbstractModel < ActiveRecord::Base
     set_primary_key "uid" #设置主键名称为uid
     include Aftersale::System::Helper::ActiveRecord::CreateUuid #这里是调用的负责创建uuid的模块
end

class User < AbstractModel

end



目前,当执行User时候,ActiveRecord会将表名从直接继承Base的AbstractModel类的类名生成,而不是最底端的User类,除非在User类中手动set_table_name才可以,我是想知道有没有方法能够不用set_table_name而让Base能够找到最底下的类名,或者为了实现这个需求,有没有其它更适合的方法?

谢谢大家!
   发表时间:2010-07-24  
如此这般:
class AbstractModel < ActiveRecord::Base
  self.abstract_class = true
end
0 请登录后投票
   发表时间:2010-07-24  
哦,明白了,谢谢,在ActiveRecord::Base中看到了对parent.abstract_class的检查,谢谢
0 请登录后投票
论坛首页 编程语言技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics