Вопрос по ruby-on-rails – Как я могу иметь представление Active Admin для вложенных и не вложенных ресурсов?

7

Пользователь has_many транзакций. У меня есть активный администратор, в настоящее время настроенный на вложение транзакций под пользователем для базового CRUD с использованием own_to: user в admin / Transactions.rb. Мне также, однако, нужно представление верхнего уровня для транзакций, которое показывает подмножество записей транзакций, которые охватывают пользователей. Как я могу выполнить эту вторую часть?

Ваш Ответ

2   ответа
19

ActiveAdmin.register Transactions do
  belongs_to :user, :optional => true
  ...
end

Таким образом, вы получите доступ ко всем транзакциям из главного меню навигации, а также из вложенного представления для конкретного пользователя.

Если вы хотите найти больше, вы можете обратиться к исходному коду:

https://github.com/gregbell/active_admin/blob/0.4.x-stable/lib/active_admin/resource.rb

Линия 131

def include_in_menu?
  super && !(belongs_to? && !belongs_to_config.optional?)
end
7

которые ссылаются на одну и ту же модель Active Record, которая требует вложенных и не вложенных маршрутов.

Родительский ресурс:

ActiveAdmin.register ParentClass do
end

Вложенный ресурс:

ActiveAdmin.register ChildClass do
  belongs_to :parent_class
end

Неопубликованный ресурс:

ActiveAdmin.register ChildClass, :as => "All Children" do
end

Теперь у вас есть прямой доступ к ChildClass через «Все дети». на вкладке, не получая сообщение об ошибке, что ParentClass отсутствует, все еще пользуясь вложенным доступом к ChildClass из ParentClass.

Error: User Rate Limit Exceeded
Error: User Rate Limit Exceeded

Похожие вопросы