Ruby on rails 从根url路由用户名并防止冲突
我想像twitter.com那样(和许多其他网站一样),为我的用户提供如下URL:Ruby on rails 从根url路由用户名并防止冲突,ruby-on-rails,ruby-on-rails-3,routes,url-scheme,Ruby On Rails,Ruby On Rails 3,Routes,Url Scheme,我想像twitter.com那样(和许多其他网站一样),为我的用户提供如下URL: http://mysite.com/theirusername 目前,我的一个用户模型验证简单地拒绝硬编码列表中的黑名单用户名 有没有比硬编码列表更好的方法?e、 g.检查路线(代码示例?) 运营这样一个网站的人的任何智慧之言都将受到重视!我相信你一定遇到过这样的情况:你想为一些新功能使用URL,但有人将其用作用户名。这种情况经常出现吗?有什么办法来处理?我想你可以选择另一个名字,使用子域,或者要求用户重命名。也
http://mysite.com/theirusername
目前,我的一个用户模型验证简单地拒绝硬编码列表中的黑名单用户名
有没有比硬编码列表更好的方法?e、 g.检查路线(代码示例?)
运营这样一个网站的人的任何智慧之言都将受到重视!我相信你一定遇到过这样的情况:你想为一些新功能使用URL,但有人将其用作用户名。这种情况经常出现吗?有什么办法来处理?我想你可以选择另一个名字,使用子域,或者要求用户重命名。也许把一些常见的英语名词列入黑名单是值得的?还有其他吗?请使用以下命令:
get ':id', :to => "users#show"
然后你可以做类似的事情。在userscoontroller#show
操作中,您需要使用User.find by_username(params[:id])
如果有人已经在使用您希望在将来使用的用户名,请向他们发送一封电子邮件,告知更改情况(您的条款和条件中也应该有类似的内容),并给他们一段时间进行更改
你应该有一些黑名单功能,这很容易在你的
用户
模型中创建一个单词列表,然后用验证
的排除 嗨,谢谢,我实际上已经有这个工作了抱歉,如果不清楚的话。我的问题更多的是直接从路由中验证用户名(而不是硬编码列表),以及防止和处理与我将来可能要添加的URL冲突的策略。对不起,我一定是问不出这个问题。我试图询问如何从路由动态构建黑名单,而不是维护一个恒定的列表。实际上我已经在用一个静态列表来验证排除。谢谢你的帮助。我在这里问了一个希望更清楚的问题,你不能从路线上动态地做到这一点。。。至少很容易。检查Rails.application.routes.routes的输出,然后从那里开始。