遍历多个has_many关系并显示每个人所属的内容。活跃管理员

时间:2016-10-24 22:07:26

标签: ruby-on-rails ruby activeadmin has-many

我正在遍历ActiveAdmin中的3个has_many关系以显示信息。我想以父,子格式显示信息。目前我有一个活动,活动内有很多地方,每个地点都有很多日期,每个日期都有很多大使(用户)。

我希望显示信息,以便查看事件的位置,然后是按位置分隔的日期,然后是按日期分隔的大使(用户)。 这是我目前编写的代码,但它没有给我正在寻找的父子显示。

show do

attributes_table do
row :agency
row :name
row :event_details
row :created_at

panel "Locations" do
  attributes_table_for event.event_locations do
    row :label
    row :address
    row :zip
    row :state
    row :country
    row :notes
    panel "Event dates" do
      event.event_locations.each do |r|
        attributes_table_for r.event_dates do
        row :event_date
        panel "Ambassadors" do
            attributes_table_for event.booking.booking_staff do 

                row :ambassador

        end
        end

   end
   end
end
  end
end
    end
active_admin_comments end

正如您在上面的代码中看到的那样,我无法获得理想的结果。任何建议将不胜感激。谢谢。

1 个答案:

答案 0 :(得分:0)

也许这会指出你正确的方向。确保你改变了

:attribute_of_event_date

和类似的符号,因此它们在您的数据(模型)的上下文中是有意义的。祝你好运!

panel "Locations" do
  resource.event_locations.each do |event_location|

    attributes_table_for event_location do
      row :label
      row :address
      row :zip
      row :state
      row :country
      row :notes

      panel "Event dates" do
        event_location.event_dates.each do  |event_date|

          attributes_table_for event_date do
            row :attribute_of_event_date
            row :another_attribute_of_event_date
            panel "Ambassadors" do
              event_date.ambassadors.each do |ambassador|

                attributes_table_for ambassador do
                  row :atttribute_of_ambassador
                  row :another_atttribute_of_ambassador
                end
              end

            end
          end

        end
      end
    end
  end
end