[英]Rails 3 - Subdomain Issue Moving to Heroku
我编写了一个应用程序,它使用每个用户帐户的子域来隔离环境。 所有这一切都很好,除了我有一个问题。 我不能同时让 www 和 "" 拥有与所有其他子域不同的根路径。
对于所有帐户子域,我有一个根页面:
root :to => "applications#index"
我需要这是所有子域的根页面,除了“”的空白子域,然后是“www”。 对于 www,我在路线上有这个:
constraints(:subdomain => "www") do
root :to => "promos#index"
end
我正在努力解决的问题,所以“”也将使用 promos#index 作为根路径。 当它不是根路径时,mywebsite.com 将它们发送到应用程序#index,这需要登录。 我不希望用户在第一次访问时看到的东西。
无论如何修改此代码以包含 mywebsite.com 以具有不同的根? 我尝试过使用“”复制代码之类的方法,但这往往会弄乱所有其他子域,无论顺序如何。 以下是我的路线文件中的内容:
constraints(:subdomain => "www") do
root :to => "promos#index"
end
root :to => "applications#index"
您可以使用实现“匹配?”的 object 做一些真正的定制的东西。 如果您是客户子域,我们将在下面设置 applications#index,如果您不是客户子域,则将您发送到 promo#index
在您的路线中:
Yourapp::Application.routes.draw do
constraints(SubDomain) do
root :to => "applications#index"
end
root :to => "promo#index"
...
end
然后是子域匹配器文件:
配置/初始化程序/subdomain.rb
class SubDomain
def self.matches?(request)
case request.subdomain
when 'www', '', nil, #admin/api/etc could also go here
false
else
true
end
end
end
subdomain.rb 也可以存在于 lib 中(如果它正在自动加载)
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.