2013-02-22 177 views
1

感覺我正在做這個權利,但顯然不是。Rails自定義路由不起作用

我有一個寧靜的資源,職位,與索引,顯示,新的,更新,編輯等操作在控制器。在路線,我有

resources :posts 

我想使索引操作發生在URL「/存檔」而不是「/帖」

所以我說在routes.rb中文件中這一行,後資源之一:

match '/archive', to: "posts#index" 

但是當我點擊一個鏈接到posts_path,它還是到/後(不過,如果我作爲一個URL輸入/存檔,它的工作原理 - 不理想,雖然)。困惑。這可能與我安裝friendly_id有關嗎?

回答

2
resources :posts, except: [:index] 
get 'archive' => 'posts#index', as: :posts 
2

您需要使用類似match '/archive', :to => 'posts#index', :as => 'archived'的東西。然後你將有一個新的路線來調整archived_posts_path。基於自定義匹配器,方法posts_path不會動態更改。您始終可以運行rake routes以查看您網站的路線列表。