0
我想根據用戶名而不是ID獲取自定義路線。我有它的工作,以達到用戶的顯示頁面,但我也試圖嵌套資源,以便我可以看到他的帖子和評論使用相同的語法。自定義嵌套路線
例子:
作品... 「mysite.com/users/ 用戶名 /」
不工作...「mysite.com/users/ 用戶名 /職位/」
的routes.rb
...
# Users with the Username...
match 'users/:username' => "users#show" do
get :posts
get :comments
end
# Users with the ID...
resources :users do
get :posts
get :comments
end
...
我以前見過這個解決方案。它看起來像一個黑客,它覆蓋了內置的查找方法,並可能導致一堆錯誤。在rails 3.1中必須有一個更簡潔的方法。 – 2011-12-29 22:08:41
這不會以任何方式影響模型的查找方法,所以我不確定可能導致哪些錯誤。是的,你必須改變你的標準控制器通過用戶名找到的發現,但我認爲你正在做的反正。這隻會覆蓋對象的to_param方法,這意味着params [:id]現在將成爲用戶名。它也會自動使用用戶名來建立你的路線。我不確定它是如何得到更清潔的。如果你仍想使用控制器參數中的數字ID,那是不同的故事。 – miked 2011-12-30 01:43:23