Rails 应用程序与乘客一起上线,但出现redirect_to错误



我已经成功地用乘客部署了我的rails应用程序。但是,我的redirect_to在生产环境中的行为与在开发环境中的行为不同。

我有这个代码:

redirect_to( :page => :signup, :subdomain => false)

在开发应用程序上,它工作得很好,所以:

http://demo.charterbox.com.au 重定向到http://charterbox.com.au/?page=signup完美!

在我刚刚上传的生产应用程序上,它这样做:

http://demo.charterbox.com.au 重定向至http://com.au/?page=signup

它不只是拿走子域,而是拿走了整个域名。不管我是否使用子域,它仍然只会重定向到http://.com.au

以下是应用程序控制器中的完整代码:

before_filter :check_domain
def check_domain
  if request.subdomain.blank? == false
     @account = Account.where("site_address = ?", request.subdomain).limit(1)      
     if @account.empty? 
       redirect_to( :page => :signup, :subdomain => false)
     end
  end
end 

有什么建议吗?

您需要配置 TLD 长度。

config.action_dispatch.tld_length sets the TLD (top-level domain) length for the application. Defaults to 1.

http://guides.rubyonrails.org/configuring.html#configuring-action-dispatch

相关内容

  • 没有找到相关文章

最新更新