Могу ли я установить маршрут пространства имен по умолчанию в контроллере - PullRequest
3 голосов
/ 03 апреля 2012

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

Например, у меня есть модель Book и books_controller, позволяющие гостям просматривать. Теперь я добавляю admin/books_controller, предоставляя администраторам возможность редактировать книги.

  namespace :admin do
    resources :books, except: :show
  end
  resources: books, only: [:index, :show]

В настоящее время для всех link_to и form_for в представлениях admin_books_controller мне нужно добавить пространство имен :admin следующим образом:

<%= form_for([:admin, @post]) do |f| %>

(в обычном контроллере это будет form_for(@post))

Он становится немного повторяющимся, и мне интересно, могу ли я установить его где-нибудь на контроллере администратора, чтобы все link_to внутри этого контроллера направлялись в пространство имен администратора?

1 Ответ

1 голос
/ 05 апреля 2012

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

Таким образом, что-то вроде rails g model admin/book будет генерировать модель книги, вложенную в пространство имен администратора.

Если вы затем строите форму поверх этого объекта, что-то вроде form_for Admin::Book.new, это должно предназначаться для любых соответственно вложенных маршрутов, таких как:

namespace :admin do
  resources :books
end

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

С уважением.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...