2011-09-28 92 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控制器上的一個動作會更好嗎? –