我相信有一個簡單的解決方案,但我似乎無法找到它。Ruby on rails路由匹配用戶名
我想匹配以下動態用戶名:
/users/dymanicUsername
如何將這個看在routes.rb中
感謝您的幫助。
我相信有一個簡單的解決方案,但我似乎無法找到它。Ruby on rails路由匹配用戶名
我想匹配以下動態用戶名:
/users/dymanicUsername
如何將這個看在routes.rb中
感謝您的幫助。
阿利斯特,
爲了做到這一點,只是重寫to_param在模型中。例如:
#users.rb
def to_param
self.username
end
你很快就會碰到一些問題:
username_urlized
,那當然應該是唯一的,而不是與其他路線也許更多的問題:)
另外,如果你想要的東西,像Twitter發生衝突( yoursite.com/dynamicUserName),做routes.rb中的以下內容:
resources :users, :path=>'' do
這是從2006年一個很好的解釋,看起來好爲Rails 2.3 *: http://garrickvanburen.com/archive/using-names-in-rails-routes-instead-of-ids
我看到的主要問題是,您不僅要確保Marcel提到的所有上述內容,而且要確保該名稱是唯一的。即在遷移過程中將:unique => true
命名爲索引。
對於我剛剛升級的rails3,會以不同方式進行路由。例如map.connect
被替換爲match
。
謝謝馬塞爾!它通過向模型添加to_parm方法來工作。 – Allister 2011-04-10 12:42:04