ruby-on-rails - 无法通过在 Rails 应用程序中运行 Ruby 打开本地主机

标签 ruby-on-rails ruby watir system-calls

我正在尝试使用系统调用在 Rails 应用程序中运行 ruby​​ 脚本,例如

def runSystemCall
    system("ruby /path/to/ruby/script/watir.rb localhost:3000/articles/14")
end

watir.rb:

def watir(url)
    bb = Watir::Browser.new :chrome
    bb.goto "#{url[0]}"
end

watir(ARGV)

在 Rails 应用程序中运行时,浏览器打开并停留在 Waiting for localhost... 状态,直到出现错误

.rvm/rubies/ruby-2.1.2/lib/ruby/2.1.0/net/protocol.rb:158:in `rescue in rbuf_fill': Net::ReadTimeout (Net::ReadTimeout)

加载网站 localhost:3000/articles/14 打开。 有人知道为什么吗?

并且,当在终端中运行时

$ ruby /path/to/ruby/script/watir.rb localhost:3000/articles/14

打开浏览器打开网站localhost:3000/articles/14 这正是我所期望的。

最佳答案

您的本地服务器是单线程的。这意味着它一次只能处理一个请求。如果一个本地请求想要从同一个本地服务器加载另一个页面,那么您至少需要两个本地线程。

关于ruby-on-rails - 无法通过在 Rails 应用程序中运行 Ruby 打开本地主机,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25578502/

相关文章:

ruby-on-rails - 将 document.txt 中的特定行添加到具有特定 id 的注释字段,然后移至下一行?

ruby-on-rails - 在 Ruby 中将哈希数组转换为一个哈希

ruby-on-rails - rails : controller#show logic for a link_to root_path or :back

ruby-on-rails - 了解事件记录查询

google-chrome - Google Chrome 29.0无法与Webdriver一起使用

css - Watir-ruby 如何通过颜色属性点击文本

ruby-on-rails - 为什么 group 或 group_by 不适用于此版本的 rails 表?

ruby-on-rails - Rails - 我应该使用哪种数据类型将数组存储在数据库中

ruby-on-rails - 即使记录也存在,如何返回 .save() 的成功? -- rails 3.1

Ruby:创建 Gzipped Tar 存档