2011-08-10 62 views
0

在Rails中,「顯示」操作的默認路徑爲/post/:id。 我該如何改變它像/post/:pid我如何在rails中定製足智多謀的路線?

我看了一下重寫to_param方法

def to_param 
    self.pid 
end 

這使得通過後實例的PID,但它會在行動 PARAMS可用[:ID]這是不恰當的。

我想要的是params[:pid]在任何行動會給我的後實例的PID。

在此先感謝。

+2

是不是必要的,你需要保持這是一個足智多謀的路線?如果您正在進行這些自定義設置,則自定義路線看起來很合適。 – ghayes

+0

http://railscasts.com/episodes/63-model-name-in-url你有沒有看到它 –

+0

鏈接告訴覆蓋to_param方法。我在我的文章中提到過 - 但我想知道是否可以在動作中執行此操作 - pid = params [:pid]而不是pid = params [:id] – Sunil

回答

0

嘗試把這個路線:

match "/post/:pid" => "post#show" 
+0

我可以這樣做,如果我想要這是一條足智多謀的路線。 – Sunil

+0

將這一行放在Post的足跡之前。 Rails會從路線中選出最先匹配的那個。 – Shanison

相關問題