如何为rails路由设置特定的子域?

时间:2014-06-11 02:34:56

标签: ruby-on-rails ruby subdomain

我正在尝试在rails中为我的网站设置子域名。我跟着铁轨演员这样做了。 http://railscasts.com/episodes/221-subdomains-in-rails-3?view=comments

我遇到了问题。我想声明一个特定的静态子域作为辅助主页。

  constraints(Subdomain) do
    match '/' => 'static_pages#secondary_home'
  end

  root to: 'static_pages#home'

LIB / subdomain.rb

class Subdomain
  def self.matches?(request)
    request.subdomain.present? && request.subdomain.eql? "secondaryhome"
  end
end

所以现在我希望只有secondaryhome.lvh.me:3000指向我的辅助主页。 (lvh.me是和指向localhost的外部域)。但是,我拥有的任何子域(例如abc.lvh.me:3000)似乎都指向辅助主页,而我希望它默认为我的主根。我该怎么办?

1 个答案:

答案 0 :(得分:0)

我们完成了相同的工作:

#config/routes.rb
constraints({ subdomain: "secondaryhome" }) do
    match '/' => 'static_pages#secondary_home'
end

这为lvh.me:3000 with constraint { subdomain: "secondaryhome" }设置了一条路线 - 只有这样才能运作