让ActiveRecord自动添加一些SQL



[更新问题以澄清]

我可以在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。

相关内容

  • 没有找到相关文章

最新更新