2012-02-25 22 views
6

Ruby on Railsには多くの子供がいる学校があります。多くの活動をしている子供たち。 1つのactivity_typesを持つアクティビティ私はネスティングが含まれている必要があります。私の子供のコントローラで。私はこれを持っています...働いています。ネストされたRuby on Rails 3に含まれています

s = School.find(params[:school_id]) 
@school = s 
@children = s.children.includes(:activities).all 

私は子供からの活動から:activity_typeも取得したいと思います。私はこの

s = School.find(params[:school_id]) 
@school = s 
@children = s.children.includes(:activities => :activity_types).all 

を試してみましたしかし、それはactivity_typeの複数形はいけない

答えて

9

を動作しませんでした。

s.children.includes(:activities => :activity_type).all

+0

うわーありがとう。それはなぜ機能するのですか?その背後にある論理は何ですか? – Johnston

+0

あなたがアクティビティからactivity_typeを取得したいと書きましたので、アクティビティを書き込んだときにタイプミスを起こしたとします。activity_types(複数)が1つあります。 'children.includes(:activities =>:activity_type)'は、各子供のすべてのアクティビティを含み、各アクティビティの各activity_typeを含むことを意味します。複数(activity_types)を使用すると、アクティビティには1つだけでなく多くのactivity_typesがあるとみなされます。 – James

関連する問題