Rails 4 的 ActiveAdmin 重定向到生产环境中的本地主机

ActiveAdmin with Rails 4 redirects to localhost in production

我在 Rails 4 应用程序中使用 ActiveAdmin gem,在生产环境中部署时遇到问题。它在开发中运行良好,或者当我 运行 在本地生产中运行时。

例如,保存资产后,不是重定向到 https://domainname.com/admin/assets/1,而是重定向到 https://localhost/admin/assets/1,它不存在,所以它爆炸了。

据我所知,我的设置是正确的。这是我的路线文件:

Rails.application.routes.draw do
  root to: redirect_to('/admin')

  devise_for :admin_users, ActiveAdmin::Devise.config
  ActiveAdmin.routes(self)
end

当我在本地 运行 时,生产模式似乎工作正常,但部署在 SSL 之后就不行了。

有没有其他人在将 SSL 与 ActiveAdmin 一起使用时遇到过这样的问题?

原来nginx配置有问题。与 Rails 代码完全无关!

我在 prod 上遇到了同样的本地主机重定向问题,但仅限于 destroy 方法。我实现了一个成功的重定向:

controller do
  def destroy
    super do |format|
      redirect_to admin_model_path and return
    end
  end
end

我仍然不知道根本原因是什么。