私は奇妙なデータモデルの状況から始めます。私がやっていることは次のとおりです。RoRネスト:to_xml/to_jsonにサブリソースを含めることが含まれます
私はBirdというクラスとColorという単純なクラスを持っています。概念的には、各鳥は、色との関連性が2つ、男性色と女性色の2つです。私がこれを処理したのは、鳥や色に属するBirdColorationという結合モデルを使用することです。色が男性か女性かを判断するために追加のブール値フィールドがあります。したがって、各鳥は実際にはBirdColorationとto_manyの関係を持ち、さらにto_manyはColor:BirdColorationを介して関係しています。これが妥当と思われる場合は、読み続ける。それ以外の場合は、停止し、なぜそれが間違っているか教えてください!
私はjsonとして鳥のテーブルをダンプする必要があります。以前は、各鳥が1つの色に対して1つのto_manyの関連付けをしていただけでしたが、include:インクルードしてjsonダンプに各鳥の色を含めることができました。さて、私はダンプにBirdColorationsを含めていますが、まだカラーモデルそのものを取得する必要があります。私は別々に各鳥の色と彩色を入れて解析しながらそれらをマッチさせることができましたが、各彩色の色を直接入れるだけです。何かのように
format.json { render :json => @birds.to_json(:include => [{:bird_colorations => :color}, :seasons, :habitats, :image_holders]) }
しかし、上記は機能しません。私はこれが可能でなければならないと思います。どのようにこれを処理するための正しい方向に私を指すことができますか?
今のところ、私は各鳥の色と色を別々に入れて、解析する際にそれらを一致させるだけです。少なくとも私はそれがうまくいくことを知っています。
ありがとうございます!
私はこのために多くを投票したいと思います!ありがとう! – brutuscat
私も@brutuscat。私のベーコンを救った! – Rots
あなたの質問のコードははるかにクリーナーに見えますが、これは直感的ではありません。特にbird_colorationsが色を入れ子にしていないと、質問の例がうまくいくためです。ソリューションを投稿していただきありがとうございます。 Railsはこれを修正する必要があります... – thatmiddleway