2011-09-28 43 views
1

我创建了一个搜索和替换控制器,只有一个索引操作。因为它意味着我用脚手架创建宁静控制器的一个下得去,我设置的路由的以下文件:嵌套奇异资源,没有出现在耙路径

resources :sites do 
    resource :search_and_replace, only: [:index] 
end 

然而,当我运行rake航线它不会出现。如果我切换到资源,它确实如此。但方法名称是site_search_and_replace_index。资源的多元化也感觉不对,因为这不是围绕着表中的多个记录。

回答

2

index操作在单数资源中不存在。如果你想到行动的意义,这是有道理的:索引什么,只有一个资源?使用show代替:

resources :sites do 
    resource :search_and_replace, only: [:show] 
end 
+0

啊完美!我想象这是一件简单而合乎逻辑的事情,我很想念,非常感谢。 – agmcleod

+0

@agmcleod我也被这个咬了,站在我的显示器前面感到困惑:-) –

0

你确定你想拥有搜索和替换的资源?有可能是其他更有用的选项:Adding more restful actions

+0

有趣的想法。但这不是搜索该网站。它实际上会做的是将孩子的孩子的内容搜索到网站模型。我基本上有以下模型:Site - > ElementType - > Element。元素对象是在特定网站中搜索的内容。不过,也许可以将其应用于元素控制器。我可以将它作为一个嵌套的方面添加到网站/元素:http://pastie.org/2605785 – agmcleod

+0

@agmcleod imho,2级嵌套是助手等开始笨重时,我通常坚持1最大。这甚至在rails文档中有说明:http://guides.rubyonrails.org/routing.html#limits-to-nesting –

+0

@agmcleod,我只是觉得搜索和替换听起来更像是一个动作的名称而不是资源。那么将它作为elementType控制器上的一个动作会更好吗? –