各レベルで 1 対多の階層にいくつかのモデルがあります。各クラスは、その上のクラスとその下のクラスにのみ関連付けられます。つまり、次のようになります。
L1 コース、L2 ユニット、L3 ユニット レイアウト、L4 レイアウト フィールド、L5 テーブル フィールド (コードではなく、レイアウト フィールドの兄弟)
階層全体の JSON 応答を作成しようとしています。
def show
@course = Course.find(params[:id])
respond_to do |format|
format.html # show.html.erb
format.json do
@course = Course.find(params[:id])
@units = @course.units.all
@unit_layouts = UnitLayout.where(:unit_id => @units)
@layout_fields = LayoutField.where(:unit_layout_id => @unit_layouts)
response = {:course => @course, :units => @units, :unit_layouts => @unit_layouts, :layout_fields => @layout_fields}
respond_to do |format|
format.json {render :json => response }
end
end
end
end
コードは正しい値を返しますが、units、unit_layouts、layout_fields はすべて同じレベルでネストされています。親の中に入れ子にしたいと思います。