为RoR中的每个用户创建新的URL路径

时间:2010-11-16 15:04:16

标签: ruby-on-rails ruby ruby-on-rails-3

如何在Ruby on Rails中实时创建新的URL路径?

例如:我希望我的用户拥有name.XXX.com或XXX.com/name。

FYi我正在Heroku上托管代码。

4 个答案:

答案 0 :(得分:1)

看一下subdomain-fu插件。

https://github.com/mbleigh/subdomain-fu

答案 1 :(得分:1)

我会查看一些以前的'虚荣'网址的答案,例如:/ username:

How can I implement vanity URL's in a Rails application?

How to implement "short" nested vanity urls in rails?

至于子域名,@ Arkan,@ Anton,@ tadman的其他建议是一个很好的起点。

答案 2 :(得分:0)

您需要一个通配符CNAME或A记录来首先指出您的名字,在本例中为*.XXX.com,以便在DNS级别上处理此问题。第二部分是检查request.host标题,它将是name.XXX.com或使用的任何内容。您可以使用它在before_filter块中设置变量。

答案 3 :(得分:0)

最简单的解决方案就像tadman描述的那样:设置DNS记录并为Apache / nginx编写重写规则/任何会吃掉子域名并将其添加到params。

作为一个选项,设置一个中间件(更多关于它http://guides.rubyonrails.org/rails_on_rack.html),您可以在Rails路由处理之前重写/路由请求。仔细准备,这可以帮助实现非常复杂的事情:)