Rails3路由:具有命名空间的资源

时间:2010-07-06 15:10:29

标签: ruby-on-rails routing ruby-on-rails-3

定义路由时是否可以定义命名空间参数,如下所示:

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

因此/account/comment调用Account::CommentsController而非CommentsController。就像一个注释,上面的:namespace - 选项似乎不起作用。

我当然可以将:controller => 'account/comments'添加到评论资源中,但是拥有大量嵌套资源,这不是很干。

有更好的方法吗?

谢谢你们 - 你摇滚!

1 个答案:

答案 0 :(得分:5)

好的,经过一番挖掘,我似乎找到了解决方案:

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

这导致:

/account/comments被关联到Account::CommentsController,同时仍然能够使用/account

来使用常规CRUD方法