2013-03-06 71 views
3

躲在我有腳手架「類別」,其具有表「類」和像CATEGORY_NAME等 現在在我的主頁領域,我顯示的所有記錄。 如果我點擊任何特定類別的「秀」,我的URL看起來像這樣 - >「http://www.abc.com/categories/1」,其中1是id。 而不是「類別/ 1」在這裏,我想要的網址是格式爲:「http://www.abc.com/# {} CATEGORY_NAME」。 我使用友好的ID,但使我的URL這樣的「http://www.abc.com/categories/# {} CATEGORY_NAME」。 我想從URL隱藏控制器的名稱和ID,並只顯示類別名稱的Rails 3.2.12控制器動作從URL

回答

3

您可以添加類似

match '/:path' => 'categories#show', as: :category 
在你的路線

。被警告,這應該在路線的底部放置,因此至少需要優先考慮,因爲它會匹配所有的控制器的索引行爲。使用它像

category_path(category_name) 

或者

"/#{category_name}" 

您可能還需要刪除展示映射到show動作所以它不會通過增加as: :category選項

resources :categories, except: [:show] 
產生的named_route衝突