2009-01-24 88 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'作为用户名:)