1

私はこれを理解できないようです。それが1レベル深くなれば私はそれをすることができます。(のようなものを使用してA.joins(:bs).where("bs.paid = TRUE")

しかし、私はモデルAを持っていhas_many Bます。B has_one C。最後Cに属性がありますpaid

A私はすべてのを取得したいですC.paid == true

私はのようなものを探していますA.joins({:b, :c}).where("c.paid == True")

4

2 に答える 2

1
paid_items = Array.new

A.bs.each do |b_item|
  paid_items << b_item if b_item.c.paid
end
于 2012-11-16T20:29:48.430 に答える
1

このようなもの?

A.joins(:b, :c).where(:conditions => ["c.paid = ?", true])

ここで見つけた、興味があるかもしれないものを見てください:" 11.2.2複数のアソシエーションへの参加" http://guides.rubyonrails.org/active_record_querying.html

于 2012-11-16T22:11:28.757 に答える