我目前在开发Ruby on Rails应用程序时遇到了一个主要问题。我以前从未使用过子域,但是从这个项目开始就需要这样做。
我通过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
所以,我跳过路线,因为它们并不重要,它们只是简单的get
和post
。
现在,问题是,每次我调用*_path
方法时,我都不会被重定向到子域(从那时起,一切都与lvh.me一起工作正常)。当我直接访问它们时,每个子域(我还有一些)都在工作,但是当我访问主页时(http://lvh.me:3000/
)。子域范围launchpad
向我显示,而不是我在routes.rb
中指定的直接根。
现在我在问,如何解决这个问题。
答案 0 :(得分:0)
控制器中的简单操作只需执行以下操作
unless request.subdomains.any?
redirect_to subdomain: 'www'
else
...
# there is no subdomain
end