2012-08-16 149 views
0

我在应用程序中有几个命名空间路线。下面是一个示例命名空间路线中的未命名空间路线

namespace "battles" do 
    resources :teams do 
    resources :comments, :module => "comments", :controller=>'comments' 
    end 
end 

我的问题是,我所有的资源与评论路线的意见/评论控制器,而是因为:团队是在战斗的命名空间,然后应用程序尝试路径闯荡/评论/评论

有没有办法指定嵌套注释资源应该路由到评论/评论控制器,而不是战斗/评论/评论控制器。

+0

如果你不想在命名空间中留言,那你为什么不把它移出去?您的评论路线是否真的嵌入团队内? (从你的描述看来它不像)。 – 2012-08-16 20:52:19

+0

评论都与一个可评论的(在这种情况下是团队)相关联。我需要知道我正在评论一个团队vs其他东西(所以我所有的评论都嵌套评论路线)。我的评论控制器有一个find_commentable方法,它查看URL的前一部分以确定要加载的模型类型。 – John 2012-08-16 20:55:48

回答

0

尝试

 scope :module => "battles" do 
     resources :teams do 
     resources :comments, :module => "comments", :controller=>'comments' 
     end 
    end 
+0

这导致该航线预计将战::评论模块 – John 2012-08-17 00:53:32

0

我放弃了,就创建了一个战役::评论控制器。它导致代码重复,所以它不是理想的。

+0

你也可以将此行添加到您的评论控制器的结束: 战役:: CommentsController = CommentsController 也并不理想,但不是重复代码更好。 – charredUtensil 2013-07-13 03:47:12