0

私は3つのモデルを持っています:

dimension_mois 
Admin::Style
Admin::Album

それらは次のように関連しています:

**DimensionMois**
has_many :admin_styles, :class_name=>"Admin::Style"

**Admin::Style**
has_many :admin_albums, :class_name=>"Admin::Album"

**Admin::Album**
belongs_to :admin_style, :class_name=>"Admin::Style"
belongs_to :dimension_mois

このページのコンセプトは、次のようなものを表示することです。

私が欲しいもののスキーマ

これを月ごとに表示したいと思います。各月には N 個のスタイルがあります。各スタイルは N 個のアルバムを持つことができます。

それを行う方法についてはわかりません。group_by で試してみましたが、結果は決して良くありません。

何か案が ?ありがとうございました。

4

1 に答える 1

1

問題を考えすぎている可能性があります。次のように、オブジェクトとその関連付けを反復処理するだけでよいと思います。

@dimension_moises = DimensionMois.includes(:admin_styles => :admin_albums)
// Using Haml syntax
%ul
  - @dimension_moises.each do |dimension_mois|
    %li
      = dimension_mois.name
      %ul
        - dimension_mois.admin_styles.each do |admin_style|
          %li
            = admin_style.name
            %ul
              - admin_style.admin_albums.each do |admin_album|
                %li= admin_album.title

これにより、そのオブジェクトの Admin::Styles と Admin::Albums を含むすべての DimensionMois のネストされた階層リストが得られます。そのリストのスタイルを設定するには、CSS、JS などを使用できます。

于 2013-09-13T18:29:39.367 に答える