根据此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
答案 0 :(得分:1)
如果您有LINUX
或UNIX
发行版,请打开终端并点击
ifconfig
然后查找inet地址,例如。
inet 192.168.0.113 netmask 0xffffff00 broadcast 192.168.0.255
然后从同一网络中的另一台机器,您可以在浏览器中点击下面
192.168.0.113:3000
现在您可以从不同的计算机上运行您的应用程序。
希望这会对你有帮助。
答案 1 :(得分:1)
我通过将config.asset_host设置为主机的地址来解决这个问题。因此,如果主机是192.168.0.17
,那么在config/development.rb
中您需要以下行:
config.asset_host = '192.168.0.17:3000'
这并不理想,这意味着每次要打开开发服务器时都需要更改development.rb
文件,方法是将其绑定到0.0.0.0:3000
。