ActiveAdmin: модель с более чем 1 новой страницей редактирования и редактирования и действиями для каждой коллекции - PullRequest
0 голосов
/ 05 июня 2018

Допустим, мне нужны разные типы страниц создания / редактирования для сообщения, каждая из которых оптимизировала свой вид сообщения, будет отображать некоторые атрибуты для их редактирования и скрывать другие.Я хочу выбрать 2 или 3 действия по сбору в верхней части страницы [«создать сообщение XX», «создать сообщение YY» и т. Д.].Как мне этого добиться?

Ответы [ 2 ]

0 голосов
/ 06 июня 2018

Если вы хотите использовать разные формы для одного ресурса, то, возможно, что-то вроде этого:

action_item :new_xx_post do
  params = { post: { type: 'XX' } }
  link_to 'New XX Post', new_post_path(params)
end

controller do
  def new
    build_resource
    render resource.type == 'XX' ? 'xx_form' : 'yy_form'
  end
end

Rails будет искать партию _xx_form в вашем приложении / views / posts как обычно.Это входит в более продвинутую настройку ActiveAdmin, поэтому убедитесь, что вы хотите сделать это, а не просто ванильные Rails.

0 голосов
/ 05 июня 2018

Вы можете зарегистрировать модель ActiveRecord несколько раз с разными именами , например.

ActiveAdmin.register Post, as: "XxPost" do ... end
ActiveAdmin.register Post, as: "YyPost" do ... end

Альтернативно использовать STI для подкласса модели ActiveRecord и зарегистрировать подклассы.

...