ruby-on-rails - 通过本地网络将 Ruby/Rails 连接到 ipad

标签 ruby-on-rails ruby ipad

主机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 地址一起工作。

  1. 打开“系统偏好设置”>“共享”以查找您计算机的 .local姓名:

    System Preferences > Sharing

  2. 将主机名添加到 config/environments/development.rb,这样您就可以通过该名称访问服务器,例如:(Rails 6+ 需要,请参阅:Blocked host Error)

    Rails.application.configure do
      # ...
      config.hosts << 'stefans-mac.local'
      # ...
    end
    
  3. 使用 -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
    
  4. 假设您已启用 iCloud Tabs , 在您的 Mac 上使用 Safari 访问该 URL(这样您就不必在 iPad 上手动输入地址)

  5. 在您的 iPad/iPhone 上,打开 Safari,点击选项卡图标,向下滚动并选择 Rails 选项卡:

iPhone

  1. 完成:

Safari

关于ruby-on-rails - 通过本地网络将 Ruby/Rails 连接到 ipad,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29751585/

相关文章:

ruby-on-rails - rails : redirect all unknown routes to root_url

ruby-on-rails - Ruby 异常的语法

javascript - 如何在 Haml 中使用 JavaScript 变量?

ruby-on-rails - Rails 获取所有后代类别的方法

ruby - `String#sub` 方法在第一次执行时返回不正确的值

ruby-on-rails - 在Rails中创建所见即所得的表单生成器(la Wufoo)

iphone - iOS - 类中的这个声明是否正确?

iphone - autoresizingMask 用于固定边距大小

iphone - iOS 通用应用程序 : the Minimum OS Version is Different than the Deployment Target

ruby-on-rails - 在 Ruby 中通过递归嵌套哈希