问题标签 [ruby-2.2]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
166 浏览

ruby - 通过 mixins 或普通定义将 Ruby 类分解为单独的文件?

将一个类分解为多个文件的首选方法是什么?Mixins 可以工作,但就我而言,我只是想更好地组织一个非常大的班级。在下面介绍的两种方法中,其中一种是否比另一种“更好”?

文件_A.rb

文件_B_class.rb

文件_B_mixin.rb

0 投票
5 回答
3749 浏览

http - Ruby HTTParty - 获取重定向的 URL

我正在尝试使用带有一些参数的HTTParty发送 HTTP 请求,

例如:

此特定请求的redirect_urlhttp://example2.com

当我http://example1.com?a=123&b=456在浏览器中尝试 URL 时,它会重定向到带有参数值的预期 URL http://example2.com?c=123trt58,但是当我使用 HTTParty 时,我只得到一个 HTML 响应。

我的要求是从响应中获取URL ( http://example2.com?c=123trt58 )。

提前致谢。

0 投票
1 回答
232 浏览

ruby - Faye Websocket 示例错误?

Faye Websocket for Ruby上,有一个对我不起作用的具体示例。

https://raw.githubusercontent.com/faye/faye-websocket-ruby/master/examples/app.rb

该应用程序确实运行,但是条件:

没有被满足,也没有迭代。这个文件应该由外部源运行吗?缺少文件?

这是通过命令运行文件:

0 投票
0 回答
145 浏览

ruby-on-rails - 使用 RVM 升级到 Ruby 2.2.3 后出现未初始化的常量错误(在 helper 文件夹内)

我刚刚使用 RVM 从 Ruby 1.9.3 升级到 2.2.3,并在尝试运行时开始获得以下输出rails server

这个错误似乎只发生在文件夹“helpers/platform”中。我认为这可能是模块位于命名空间下的问题,但我有其他模块位于 helpers 文件夹中,并且在不显示相同错误的命名空间下工作。

我不确定这是否与某些配置丢失或与我的某些 gem 不兼容有关。我不知道该怎么做,所以也许有人可以帮我弄清楚我应该在哪里看?我需要提供更多信息吗?

我在用着:

  • 红宝石 2.2.3
  • 导轨 3.2.22
  • OS X 优胜美地 10.10.4

更新 - rvm 信息的输出:

0 投票
0 回答
134 浏览

watir - 如何在 Ruby 2.2 中使用 Watir 避免重复的键警告?

将 watir-webdriver 与 Selenium 一起使用,我有带有重复键警告的元素选择器,例如

browser.div(class: 'one-possible-class', class: 'another-possible-class')

这可以完美地解析为与给定类中的一个或两个匹配的元素。问题是,当使用相同的键传入不同的值时,较新版本的 Ruby(2.2 及更高版本)会引发类似的警告。

warning: duplicated key at line 16 ignored: :class

所以我尝试使用正则表达式

browser.div(class: /one-possible-class|another-possible-class/)

但是,这并不相同。

0 投票
1 回答
59 浏览

ruby - 工作 | | 和 && 运算符

我在做某事,发现&&操作员功能有点混乱。

当我做

但是当我使用 && 运算符时。

有人可以帮我理解吗?

0 投票
2 回答
561 浏览

ruby - 为什么“instance.send(:initialize, *args, **kwargs, &block)”仅在 Class#new 中失败?

我已经坚持了很长一段时间了。看看这个:

该类SuperClass基本上“重新实现”了默认new方法,以便在initialize.

现在,以下工作正常:

但是,这不会:

它在这条线上失败SuperClass

但显然只有在方法中调用它才会失败new。我已经确认args == [],kwargs == {}block == nil

有人能解释一下吗?


红宝石版本:

请不要暗示我不要超载Class.new。我知道我可以使用Class.inheritedandClass.append来获得相同的结果。这个问题只是关于为什么调用initialize失败。

0 投票
2 回答
11707 浏览

ruby-on-rails - 如何在Ruby中使用来自哈希的查询参数构造URI

如何通过传递哈希来构造带有查询参数的 URI 对象?

我可以生成查询:

URI::HTTPS.build(host: 'example.com', query: "a=#{hash[:a]}, b=#{[hash:b]}")

这会产生

https://example.com?a=argument1&b=argument2

但是我认为为许多参数构建查询字符串将是不可读且难以维护的。我想通过传递哈希来构造查询字符串。如下例所示:

这引起了

是否可以使用 URI api 基于哈希构造查询字符串?我不想修补哈希对象...

0 投票
3 回答
470 浏览

ruby - 使用数组中的键迭代哈希,并对结果求和

我有一个Hash将一堆 ID 索引到一个值,例如:

我有一个看起来像这样的数组:

什么是一种简短的 Ruby 惯用方式来迭代我的数组并将哈希中相应键的累积总数相加?

上述结果将等于:

0 投票
2 回答
514 浏览

ruby-on-rails - 为什么在 Ruby 中有时需要括号?

我最近在查看Rails 文档中的一些 Ruby 代码时遇到了一个奇怪的问题。

Ruby 允许您像以下示例一样传递参数:

但第二个案例在我看来很奇怪。看起来你应该能够像这样通过它:

不管有没有括号,它的含义都是一样的。但相反,你得到:

后指冒号action。我不确定为什么会在}那里期待,以及为什么使用括号会改变这一点。