2011-10-11 12 views
0

私は以下の団体は、だから私は、次の操作を行うことができるように期待していたRailsの積極的なロードや条件

class bookinghdr 
    belongs_to :agent 
end 

class bookingitem 
    belongs_to :bookinghdr, :include => agent 
end 

を設定している:

named_scope :prepay, :include=>["bookinghdr"], :conditions => ["bookinghdr.agent.agenttype = 'PP'"] 

、私のコントローラでは実行します。

b = Bookingitem.prepay 

しかし、それは私にActiveRecord :: StatementInvalidを与えます:Mysql :: Error:Unknown column 'bookinghdr.agent.agenttyp E」私は条件句が含まれていない場合

は、しかし、私は私が行うことができます上のレコードを取得:エラーなし

b = Bookingitem.prepay 
b[0].bookinghdr.agent.agenttype 

を!

私はすべてのレコードを取得して、それらのエージェントがPP @フラグを持つものを見つける必要はありません。私はARが私にそれをすることを望んでいました。

誰でもこれを達成するためのアイデアはありますか?

答えて

1

あなたの質問は、関連付けと名前付きスコープの仕組みがまだ完全に理解されていないことを示しています。私はあなたの質問から明確な部分が分からないので、http://guides.rubyonrails.org/v2.3.11/association_basics.htmlでAssociation Basicsガイドを読むことをお勧めします。これにより、実装したいコンセプトについてスピードアップすることができます。ガイドを読んだら、それは意味をなさないはずです。

関連する問題