Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/ruby-on-rails/54.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/google-chrome/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 在本地计算机上以生产模式运行_Ruby On Rails_Google Chrome_Heroku_Puma - Fatal编程技术网

Ruby on rails 在本地计算机上以生产模式运行

Ruby on rails 在本地计算机上以生产模式运行,ruby-on-rails,google-chrome,heroku,puma,Ruby On Rails,Google Chrome,Heroku,Puma,我正在尝试使用puma在本地机器上以生产模式运行。如果我打字 rails server -e production 服务器启动时会显示一条消息 Puma 2.16.0 starting... * Min threads: 0, max threads: 16 * Environment: production * Listening on tcp://localhost:3000 当我在浏览器中输入(chrome或safari)时 它不是访问本地服务器,而是访问heroku上的真实生产站点。

我正在尝试使用
puma
在本地机器上以生产模式运行。如果我打字

rails server -e production
服务器启动时会显示一条消息

Puma 2.16.0 starting...
* Min threads: 0, max threads: 16
* Environment: production
* Listening on tcp://localhost:3000
当我在浏览器中输入(chrome或safari)时

它不是访问本地服务器,而是访问heroku上的真实生产站点。我试图清除浏览器缓存,但它仍然会转到Heroku。我该如何解决这个问题


注意,如果我停止服务器并以开发模式运行,浏览器仍然转到Heroku,但如果清除浏览器缓存,它将再次转到本地服务器。

结果是,我在初始化器中有以下代码

MyApp::Application.config.middleware.insert_before(Rack::Runtime, Rack::Rewrite) do
  r301 /.*/, 'http://www.myapp.com$&', if: proc {|rack_env|
    rack_env['SERVER_NAME'] != 'www.myapp.com'
  }
end if Rails.env == 'production'

这是对裸域的重定向。如果我在本地机器上关闭此选项,
rails s-e production
会正确地指向本地主机。

rails\u ENV=production rails s-p 3000
使用
rails\u ENV=production rails s-p 3000
没有帮助。
MyApp::Application.config.middleware.insert_before(Rack::Runtime, Rack::Rewrite) do
  r301 /.*/, 'http://www.myapp.com$&', if: proc {|rack_env|
    rack_env['SERVER_NAME'] != 'www.myapp.com'
  }
end if Rails.env == 'production'