Я уже некоторое время играю с ActiveAdmin, вот как мне удалось заставить ассоциации работать в индексах и формах.
Я только что догадался о некоторых столбцах вашей модели ниже. Также обратите внимание, в форме. Раздел «персона» покажет все столбцы для редактирования, тогда как раздел «курс» покажет только указанный столбец.
ActiveAdmin.register User do
index do
column :id
column :name
column :attendance
column :person do |membership|
membership.person.name
end
column :course do |membership|
membership.course.name
end
default_actions
end
form do |f|
f.inputs "Membership" do
f.input :name
f.input :created_at
f.input :updated_at
end
f.inputs :name => "Person", :for => :person do |person|
person.inputs
end
f.inputs :name => "Course", :for => :course do |course|
course.input :name
end
f.buttons
end
end
Я не проверял это, но вы должны быть в состоянии применить эти идеи к вашему делу. Это работает для меня.
Обновление: Я только что прочитал ваш вопрос еще раз и отметил, что вы хотите иметь возможность сортировать по столбцу ассоциации. Я только что проверил свою реализацию, и это действительно не работает. Мой ответ может быть бесполезен для вас, но я все равно оставлю его здесь (может помочь кому-то еще).