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を使用したアクティブレコードクエリについては、このガイドをご覧ください。このトピックには、非常に優れたrailscast(@ railscasts.com)もいくつかあります。また、where句などが醜い場合は、meta_wheregemを確認してください。私はこれらの3つのことを誓います。

于 2011-07-10T21:07:15.010 に答える