主机ip:192.168.1.2
ipad ip: 192.168.1.3
在我的主机上工作时,网址是:localhost.dev:3000/sign_in/ 当我尝试通过 192.168.1.2.dev:3000/sign_in 连接到我的 ipad 时,连接超时。
解决我的问题的一种方法是将 ipad 上的 wifi 设置更改为手动代理:
服务器:192.168.1.2
端口:3000
现在 192.168.1.2.dev 工作了!有点……
我现在可以登录到我的站点,但是 js 似乎已损坏并且 ipad 将 url 更改为:(http://2.dev/page)通常它会是(http://localhost.dev:3000/page)我认为这是主机的最后一位数字局域网IP。我们使用一些外部托管的 js 文件。这可能就是它崩溃的原因。启用代理后,我无法浏览互联网(在 ipad 上)。我错过了什么?
(192.168.1.2:3000 不适用于任何设备..)
经过进一步调试,我认为这是因为通过代理进行了互联网连接。
我的日志吐出的确切错误是:
CONNECT configuration.apple.com:443 HTTP/1.1
Host: configuration.apple.com
User-Agent: ubd/289.3 CFNetwork/672.1.14 Darwin/14.0.0
Connection: keep-alive
Proxy-Connection: keep-alive
2015-04-20 11:52:54] ERROR TypeError: can't dup NilClass
/home/pete/.rvm/rubies/ruby-1.9.3-p194/lib/ruby/1.9.1/webrick/httprequest.rb:279:in `dup'
所以我认为我也必须启用 linux 才能转发我的互联网?
最佳答案
Rails 不可访问,因为服务器绑定(bind)到 localhost。
这是我使用 zeroconf 的常用工作流程/Bonjour 和 Mac OS X,尽管它基本上也应该与其他操作系统和/或固定 IP 地址一起工作。
打开“系统偏好设置”>“共享”以查找您计算机的 .local姓名:
将主机名添加到
config/environments/development.rb
,这样您就可以通过该名称访问服务器,例如:(Rails 6+ 需要,请参阅:Blocked host Error)Rails.application.configure do # ... config.hosts << 'stefans-mac.local' # ... end
使用
-b
选项启动rails server
以提供主机名(这是重要的部分):$ rails s -b stefans-mac.local => Booting Thin => Rails 4.2.1 application starting in development on http://stefans-mac.local:3000 => Run `rails server -h` for more startup options => Ctrl-C to shutdown server >> Thin web server (v1.5.1 codename Straight Razor) >> Maximum connections set to 1024 >> Listening on stefans-mac.local:3000, CTRL+C to stop
假设您已启用 iCloud Tabs , 在您的 Mac 上使用 Safari 访问该 URL(这样您就不必在 iPad 上手动输入地址)
在您的 iPad/iPhone 上,打开 Safari,点击选项卡图标,向下滚动并选择 Rails 选项卡:
- 完成:
关于ruby-on-rails - 通过本地网络将 Ruby/Rails 连接到 ipad,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29751585/