Настройка интерфейса active_admin

У меня простой вопрос об активном интерфейсе администратора.

В моем приложении у меня есть ресурс, добавленный в файл active_admin. Когда я получаю доступ к ресурсу из active_admin, я получаю все записи для этого ресурса. Когда я выбираю/получаю доступ (в качестве действия показа) к одной записи, она показывает сведения об этом экземпляре и всех ассоциациях, принадлежащих_к, но я не знаю, как получить сведения об ассоциации has_many или has_one в представлении показа?

Есть идеи? Я ценю любые отзывы.

Спасибо,
Атаранг.


person Atarang    schedule 06.01.2012    source источник
comment
Один из способов — установить переменные экземпляра в контроллере и получить к ним доступ в представлении. Например, если исследование имеет_много предметов. затем в контроллере создайте экземпляр '@subjects = @study.subjects'. Затем используйте '@subjects' в скрипте для рендеринга предметов.   -  person naren    schedule 07.01.2012
comment
Это правда, но как получить доступ к этой ассоциации из интерфейса active_admin?   -  person Atarang    schedule 07.01.2012


Ответы (1)


Вам нужно настроить свой экран шоу в app/admin/yourresource.rb. В противном случае вам не нужно делать ничего особенного, кроме как убедиться, что ассоциации has_many и own_to верны. Например, если у вас есть категория с большим количеством элементов, сделайте это в category.rb:

show :category do
  panel "Category Info" do
    attributes_table_for category, :name, :created_at
  end
  panel "Items in This Category" do
    table_for(category.items) do
      column("Name", :sortable => :name) {|item| item.name }
      column("Created At") {|item| item.created_at }
    end
  end
end

Есть и другие хорошие примеры здесь и в другом месте в исходном коде демонстрационного проекта, который для почему-то трудно найти на основном сайте.

person kimhagen    schedule 07.01.2012
comment
Спасибо за ответ. Я попробую этот и другие упомянутые ресурсы. Спасибо еще раз. - person Atarang; 09.01.2012