2013-06-20 4 views
0

Я пытаюсь построить контроллер admin, которому необходим доступ к нескольким другим ресурсам.Rails routing multiple controller

Например

:shelf контроллер, который необходим доступ к :books, :movies и :music. Каждый из них потребует своих новых действий/удаления/изменения.

Теперь я хочу, чтобы направить его, так что я могу создать новую книгу, делая localhost:3000/shelf/books/new

Я уже пробовал:

resources :books, :shelf=>'books' 

, но это не сработало.

Был бы очень признателен за помощь человека на данный момент.

Благодаря

ответ

0

Попробуйте делать что-то вроде

resources :shelf do 
    resources :books 
end 

, то вы можете сделать что-то вроде

resources :shelf do 
    resources :books 
    resources :movies 
    ... 
end 

это будет путь к localhost:3000/shelf/books Надеюсь, что это помогает!

Update Если вы хотите, чтобы все книги ресурсов под полкой, то вы можете использовать пространство имен

namespace :shelf do 
    resources :books 
end 
+0

Спасибо за помощь! Теперь он работает для localhost: 3000/shelf /: id/books, но моя полка на самом деле не ресурс, как мне это сделать, поэтому мне не нужна: id-часть в URL-адресе? –

+0

Эй, я обновил свой ответ, который мог бы ответить на ваш вопрос. – Sam

+0

Я действительно пытался использовать пространство имен и область видимости, пространство имен приводит к ошибке маршрутизации «uninitialized constant Shelf», где сфера действия работает, но она также работает без/полки. Кроме того, макет, похоже, не относится к страницам книги, и я не могу понять, как добавить его в книги –