2010-11-11 84 views
0

我有一個到用戶收件箱的命名路由,它由消息資源維護。我想確保用戶只能從我的命名路徑訪問他們的收件箱,並刪除「/ messages」作爲選項。如何在Rails 3中將命名路由替換爲資源路徑?

resources :messages 
    match "/u/:nickname/inbox" => "messages#index", :as=>:inbox 

有沒有簡單的方法呢?我必須爲「/ messages」創建匹配路徑嗎?

+0

我的新答案有效嗎? – rwilliams 2010-11-15 21:23:05

+0

是的,謝謝。 – picardo 2010-11-15 23:57:56

回答

2

解決方案1:

我想創建的消息的路徑,並刪除resources :messages

這種方法將刪除所有的正常途徑的消息,你將不得不重新添加那些你想要可用。

解決方案2:

僅刪除了路由指數期權,並允許所有其他標準的路線是一樣的。

resources :messages, :except => :index 
match "/u/:nickname/inbox" => "messages#index", :as=>:inbox 
+0

當我刪除資源行時,新模板上出現「無路由匹配{:操作=>」創建「,:控制器=>」消息「}」「錯誤。 – picardo 2010-11-11 21:18:30

+0

因爲我們刪除了資源圖,所以您必須手動重新添加要用於消息的路由。 – rwilliams 2010-11-12 01:45:46

+0

我編輯我的答案與替代解決方案。 – rwilliams 2010-11-12 02:04:03