RailsのModelのリレーションシップで3つ以上を関連付けることは可能でしょうか。
例えば、world、country、companyの3つのmodelがあったとして、
以下のような関係をしているとします
・world
has_many :countries
・country
belongs_to :world
has_many :companies
・company
belongs_to :country
と、modelを設定しまして、migrationファイルも適切にreferencesを設定して、rake db:migrateして
データベースの方も準備を整えていたとします。
この時
[world] -> [country]
は、
lang
1w = World.find 1 2w.countries
で無事に結果が出ました。次に
[country] -> [company]
では、
lang
1c = Country.find 1 2c.companies
で無事に結果がでました。
で、この時に
[world] -> [country] -> [company]
を実現したいのですが
lang
1w = World.find 1 2w.countries.companies
としますと
undefined method `companies' と、リレーションができていないエラーが出ます。
modelを3つ以上つなげることは可能なのでしょうか?
可能だとしたら、どのように呼び出すのでしょうか?
ご教授、よろしくお願いします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2014/10/20 14:20