【发布时间】:2015-10-03 21:14:12
【问题描述】:
根据这个post,为了从同一网络上的另一台机器访问本地服务器,您需要使用0.0.0.0:3000作为rails 4.2中localhost的地址。如果我用rails s -b 0.0.0.0 -p 3000 启动服务器,我确实可以从另一台机器访问,使用主机IP 地址后跟:3000。但是,资产未显示。我尝试在 development.rb 中设置 config.asset_host = '0.0.0.0:3000' 并重新启动服务器,但这没有帮助。
那么我如何从远程机器加载资产?控制台显示以下错误
GET http://localhost:3000/assets/application.css net::ERR_CONNECTION_REFUSED
192.168.0.57/:24
GET http://localhost:3000/assets/application.js net::ERR_CONNECTION_REFUSED
192.168.0.57/:83
GET http://localhost:3000/assets/infographic.png net::ERR_CONNECTION_REFUSED
192.168.0.57/:106
GET http://localhost:3000/assets/analysis-thumb.png net::ERR_CONNECTION_REFUSED
192.168.0.57/:121
GET http://localhost:3000/assets/chart-thumb.png net::ERR_CONNECTION_REFUSED
localhost:3000/images/favicon.ico:1
GET http://localhost:3000/images/favicon.ico net::ERR_CONNECTION_REFUSED
gingerEditor.min.js:21
Running Ginger Widget version 0.1.0.585
localhost:3000/images/favicon.ico:1
GET http://localhost:3000/images/favicon.ico net::ERR_CONNECTION_REFUSED
在这种情况下,主机位于 192.168.0.57:3000。服务器日志显示页面加载在 192.168.0.9 即Started GET "/" for 192.168.0.9
【问题讨论】:
-
你为什么不尝试绑定到主机 IP 而不是 0.0.0.0 即。 rails s -b
-p 3000 -
我试过了,谢谢,但资产仍然无法加载。
-
尝试直接调用远程服务器上的一些资产文件,如果你在生产环境中运行,你的网络服务器不提供静态资产......
-
会不会是资产预编译的问题?你为什么不试试
rake assets:precompile。虽然在开发环境中应该不成问题。 -
我试过
rake assets:precompile,但这没有帮助。我几乎可以肯定是在开发模式下运行,config/environments/development.rb 在服务器启动时执行。
标签: ruby-on-rails ruby ruby-on-rails-4