我相信有一个简单的解决方案,但我似乎无法找到它。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