2009-01-24 78 views
1

如何在URL中傳遞參數?我試圖設計一個類似於Twitter的登錄系統。請注意,您可以登錄www.twitter.com的主頁,也可以直接訪問www.twitter.com/lancearmstrong和www.twitter.com/rails等自定義頁面。這正是我爲我的項目所需要的。謝謝。類似Twitter的登錄系統(在URL中傳遞參數?)

+0

當我沒有登錄時,我沒有在twitter.com/rails上獲得任何形式的登錄表單。究竟是什麼你在說什麼? – 2009-01-25 20:48:07

+0

我的歉意。試想一下,您可以在任何用戶的推特頁面上獲取用戶名和密碼字段。這就是我所追求的。 – alamodey 2009-01-28 12:44:08

回答

8

在配置/ routes.rb中創建這樣一個規則:

map.connect '/:user_name', :controller => 'login', :action => 'custom' 

或somethjing相似。

然後在你的控制器回暖使用參數的用戶名[:USER_NAME]

這應該在靠近默認規則的文件的末尾。系統選擇匹配傳入URL的第一個路由。所以如果你有像這樣的規則:

map.connect '/foo', :controller => 'foo', :action => 'bar' 

它將需要在登錄規則之前。 - 請記住,如果你這樣做,你將不得不禁止'foo'作爲用戶名:)