假設我們有一個簡單的資源名爲消息:如何在Rails中進行路由?
resources :news
生成的路徑以這種形式/news/:id
。我想通過刪除/ news /來爲此提供一個快捷方式,以便/ 1 /進入新聞#show,id爲1,對於新聞的所有其他足智多謀的行爲也是如此。
我想它可能是沿着
match '/:id(/:action)', :controller => 'news'
線的東西,但是這是行不通的。
假設我們有一個簡單的資源名爲消息:如何在Rails中進行路由?
resources :news
生成的路徑以這種形式/news/:id
。我想通過刪除/ news /來爲此提供一個快捷方式,以便/ 1 /進入新聞#show,id爲1,對於新聞的所有其他足智多謀的行爲也是如此。
我想它可能是沿着
match '/:id(/:action)', :controller => 'news'
線的東西,但是這是行不通的。
要更改對資源利用的路徑:路徑=>
resources :news, :path => "/"
試試這個在你的路由的最底部文件:
match ':id', :to => "news#show"
在底部放置一個定製的路由你routes.rb應該工作,這將給它最低優先級,並允許有效路線首先工作:
match '/:id', :to => 'news#show'
它是重要的是要注意,這基本上將任何先前未捕獲到的內容作爲實際靜態文件存儲到該控制器/操作。如果新聞記錄不存在,您將需要確保您呈現404錯誤頁面。
Cooooooooool。你讓我很開心。在這裏,有一個虛擬的啤酒。 – randomguy 2011-02-14 03:00:57