2015-02-07 26 views
3

我目前在开发Ruby on Rails应用程序时遇到了一个主要问题。我从来没有使用过子域,但是因为这个项目需要这样做。子域名无法在本地导轨上工作env


我通过scope添加了每个子域约束,但路由不起作用。这里是我的routes.rb

scope module: :frontend, subdomain: ':company_id' do 
    resources :RESOURCE_NAME do 
    scope module: 'MODULE_NAME' do 
     [...] # Some simple routes 
    end 
    end 
    [...] 
end 

所以,我跳过了路线,因为他们是不是真的很重要,他们只是简单的getpost事情。

现在,问题是,每次我打电话给*_path方法时,我都没有被重定向到子域(从那时起,所有的东西都可以在lvh.me中正常工作)。每个子域(我还有更多)在我直接访问它们时正在工作,而且还在我访问主页时(http://lvh.me:3000/)。子域范围launchpad向我展示,而不是我在我的routes.rb中指定的直接根。

现在我问,如何解决问题。

回答

0

你可以去http://moo.lvh.me:3000/

简单的在你的控制器只是做以下

unless request.subdomains.any? 
    redirect_to subdomain: 'www' 
else 
    ... 
    # there is no subdomain 
end 
+0

感谢,但如果我不希望使用任何** **子域? – 2015-04-22 12:13:59

+0

然后你可以忽略它。或者把你的代码放在else区域。 – MZaragoza 2015-04-22 12:15:57