我有三种模式:
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,但结果永远不会好。
有什么想法吗?谢谢。
答案 0 :(得分: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
这将为您提供所有DimensionMois的嵌套分层列表,其中包含该对象的Admin :: Styles和Admin :: Albums。您可以使用CSS,JS,以及任何样式列表。