我正在使用Rails,並且我有用於創建新用戶的用戶控制器。要查看當前用戶我必須鍵入類似:如何通過myside.com/USER_ID在rails中訪問用戶配置文件頁面
mysite.com/users/USER_ID
我想更改爲:
mysite.com/USER_ID
什麼是acheive,最好的方法是什麼?
感謝,
擔
我正在使用Rails,並且我有用於創建新用戶的用戶控制器。要查看當前用戶我必須鍵入類似:如何通過myside.com/USER_ID在rails中訪問用戶配置文件頁面
mysite.com/users/USER_ID
我想更改爲:
mysite.com/USER_ID
什麼是acheive,最好的方法是什麼?
感謝,
擔
爲了提高你生成的URL的數量,你還可以在用戶模型中添加一個to_param方法來得到類似於:
def to_param
"#{id}-#{username}"
end
map.users '/:id', :controller => 'users', :action => 'show'
http://yourdomain.com/142-yaraher
這樣,Rails仍然可以正常工作(通過在param [:id]上調用.to_i)並獲得更好的URL。
請記住,你應該從你使用的方法除去一些特殊字符,所以它應該是更可能是這樣的:
"#{id}-#{n.downcase.gsub(/[^a-z1-9]+/i, '-')}"
您需要定義在配置新的根/ routes.rb中像
map.user '/:id', :controller => 'users', :action => 'show'
,然後實現顯示方法 - 你的用戶ID將在params[:id]
一種更好的方式來剝離不想要的字符是使用字符串#參數化方法。 「#{id} - #{username.parameterize}」 – erik 2009-09-12 22:27:53
不錯的方法,以前沒有檢查過。它來自最新的Rails更新之一嗎? – Yaraher 2009-09-13 15:35:05