目前我有myapp.herokuapp.com作为我正在进行的一个小项目的暂存。完成后,它将在myapp.com下运行。
当我在本地运行时,我正在使用lvh.me:3000进行测试。这对我遇到的问题很有效,但由于这个暂存环境属于子域,我遇到了路由问题。
问题是我的用户被赋予了自定义子域名,因此someuser.myapp.com指向用户#landing。我通过这条路线在当地实现了这个目标:
match '', to: 'users#landing', constraints: lambda { |r| r.subdomain.present? && r.subdomain != 'www' }
我的问题是,当我访问myapp.herokuapp.com时,我最终会击中用户#landing而不是root。
我正在认真地画一个空白。
答案 0 :(得分:1)
完全忽略了我在做什么......
我结束了,
if request.subdomain == 'myapp'
redirect_to root_url
else
解决了哪个问题。我确信有更好的方法可以做到这一点。
编辑:此外,我在application_controller.rb中添加了default_url_options
def default_url_options
if Rails.env.production?
{:host => 'myapp.herokuapp.com'}
else
{:host => 'lvh.me'}
end
end