0

[更新问题以澄清]

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

有任何想法吗?

4

1 回答 1

0

看看这个关于使用Arel进行活动记录查询的指南。还有一些关于这个主题的非常好的 railscasts (@railscasts.com)。如果你发现自己有丑陋的 where 子句等,看看 meta_where gem。我发誓这三件事。

于 2011-07-10T21:07:15.010 回答