在 rails 4.2 中从网络上的另一台机器访问本地主机

Obr*_*ios 2 ruby ruby-on-rails ruby-on-rails-4

根据这篇文章,为了从同一网络上的另一台机器访问本地服务器,您需要使用 0.0.0.0:3000 作为 rails 4.2 中 localhost 的地址。如果我启动服务器,rails s -b 0.0.0.0 -p 3000我确实可以从另一台机器访问,使用主机 ip 地址后跟:3000。但是,资产没有显示。我曾尝试config.asset_host = '0.0.0.0:3000'在 development.rb 中设置并重新启动服务器,但这无济于事。

那么我如何从远程机器加载资产?控制台显示以下错误

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
Run Code Online (Sandbox Code Playgroud)

在这种情况下,主机位于 192.168.0.57:3000。服务器日志说页面加载在 192.168.0.9 ieStarted GET "/" for 192.168.0.9

Roc*_*tar 5

如果您有发行版LINUXUNIX发行版,请打开终端并点击

ifconfig
Run Code Online (Sandbox Code Playgroud)

然后找到inet地址,例如。

inet 192.168.0.113 netmask 0xffffff00 broadcast 192.168.0.255 
Run Code Online (Sandbox Code Playgroud)

然后从同一网络中的另一台机器,您可以在浏览器中点击下面

192.168.0.113:3000
Run Code Online (Sandbox Code Playgroud)

现在您将能够在不同的机器上运行您的应用程序。

希望这会帮助你。