如何让相关记录显示在活动管理员中?

How do I get associated records to show in active admin?

我有一个注册应用程序,它记录了一个 Participant 模型,它有两个悬挂模型 - Student_DetailVolunteer_DetailParticipant has_one,共 Student_DetailVolunteer_Detail

还有第三个模型,GroupGroup 记录哪些参与者相互匹配。因为参与者可能参与多个 Group 而一个 Group 可能有多个 Participant,我假设 has_and_belongs_to_manyParticipant 的最佳关联并且Group

存在 GroupParticipant

的联接 table

我是 Rails 的新手,我正在使用 active admin 来管理这个应用程序。

当我登录时,我可以看到我作为资源生成的每个模型,但我希望在查看 Participant 选项卡。目前,它仅显示仅适用于该特定模型的属性,不适用于任何关联模型。

这是我的 active_admin 模型资源代码 Participant:

    ActiveAdmin.register Participant do

                            permit_params :first_name, :last_name, :gender, :email, :birthdate, :phone, 
                                              :street_name, :city, :state, :zip, :role, student_details_attributes: [:nationality, :religion, :need_ride, 
                                            :has_spouse, :spouse_name, :english_level, :expectation, :length_of_stay, :exact_length, :volunteer_id, 
                                            :matched, :returned_home, :participant_id], volunteer_details_attributes: [:date, :importance, :story, :questions, :participant_id]


                            end

我希望在 Active Admin 中查看与 Participant table 中的条目关联的所有属性。目前我只看到直接来自该模型的属性 (:first_name, :last_name, :gender, :email, :birthdate, :phone, :street_name, :城市,:州,:zip,:角色)

我猜猜,你需要显示关联的属性

show do |participant|
  attributes_table do
    row :id
    row :full_name
    attributes_table_for participant.volunteer_detail do
      row :id
      row :volunteer_name
    end
  end
end