[更新问题以澄清]
我可以在Rails 3/3.1中创建一个模型并使ActiveRecord自动使用/附加一些我配置到该模型的连接吗?
,
使用如下代码:
class Component < ActiveRecord::Base
def self.base_query
joins("join t05 on d04.t05_ukey = t05.ukey left join d03 on d04.d03_ukey = d03.ukey left join d16 on d04.d16_ukey = d16.ukey")
end
end
Component.first # under the hood is doing Component.base_query.first
Component.where(...) # under the hood is doing Component.base_query.where
但是ActiveRecord在底层调用方法base_query而不需要显式调用它。让它更像rails。
任何想法?
看看这个关于使用Arel查询活动记录的指南。关于这个话题也有一些非常好的铁路广播(@railscasts.com)。如果你发现自己有难看的where子句等,那就看一下meta_where gem。