2010-07-06 2 views
1

Можно ли определить параметр пространства имен при определении своих маршрутов, например:Rails3 маршрутизации: Ресурс с пространством имен

resource :account, :namespace => :account do 
    resources :comments 
end 

Так /account/comment вызовы Account::CommentsController вместо того, чтобы просто CommentsController. Как и примечание, :namespace -описание выше НЕ работает.

Я могу, конечно, добавить :controller => 'account/comments' к ресурсам комментариев, но имея много вложенных ресурсов, это не очень СУХОЙ.

Есть ли лучший способ?

Спасибо, ребята, вы рок!

ответ

5

Хорошо, после некоторого копаться я, кажется, нашел решение:

resource :account, :controller => 'account' do 
    scope :module => 'account' do 
     resources :comments 
     ... 
    end 
end 

Это приводит к:

/account/comments быть связан с Account::CommentsController в то время как еще в состоянии Гости могут воспользоваться обычные CRUD-методы с использованием /account

+1

Является ли это более чистым способом? Это должен быть другой путь. В любом случае, спасибо за это – Tony