问题标签 [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.
ruby - 通过 mixins 或普通定义将 Ruby 类分解为单独的文件?
将一个类分解为多个文件的首选方法是什么?Mixins 可以工作,但就我而言,我只是想更好地组织一个非常大的班级。在下面介绍的两种方法中,其中一种是否比另一种“更好”?
文件_A.rb
文件_B_class.rb
文件_B_mixin.rb
http - Ruby HTTParty - 获取重定向的 URL
我正在尝试使用带有一些参数的HTTParty发送 HTTP 请求,
例如:
此特定请求的redirect_url是http://example2.com
当我http://example1.com?a=123&b=456
在浏览器中尝试 URL 时,它会重定向到带有参数值的预期 URL http://example2.com?c=123trt58
,但是当我使用 HTTParty 时,我只得到一个 HTML 响应。
我的要求是从响应中获取URL ( http://example2.com?c=123trt58 )。
提前致谢。
ruby - Faye Websocket 示例错误?
在Faye Websocket for Ruby上,有一个对我不起作用的具体示例。
https://raw.githubusercontent.com/faye/faye-websocket-ruby/master/examples/app.rb
该应用程序确实运行,但是条件:
没有被满足,也没有迭代。这个文件应该由外部源运行吗?缺少文件?
这是通过命令运行文件:
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 信息的输出:
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/)
但是,这并不相同。
ruby - 工作 | | 和 && 运算符
我在做某事,发现&&
操作员功能有点混乱。
当我做
但是当我使用 && 运算符时。
有人可以帮我理解吗?
ruby - 为什么“instance.send(:initialize, *args, **kwargs, &block)”仅在 Class#new 中失败?
我已经坚持了很长一段时间了。看看这个:
该类SuperClass
基本上“重新实现”了默认new
方法,以便在initialize
.
现在,以下工作正常:
但是,这不会:
它在这条线上失败SuperClass
:
但显然只有在方法中调用它才会失败new
。我已经确认args == []
,kwargs == {}
和block == nil
。
有人能解释一下吗?
红宝石版本:
请不要暗示我不要超载Class.new
。我知道我可以使用Class.inherited
andClass.append
来获得相同的结果。这个问题只是关于为什么调用initialize
失败。
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 基于哈希构造查询字符串?我不想修补哈希对象...
ruby - 使用数组中的键迭代哈希,并对结果求和
我有一个Hash
将一堆 ID 索引到一个值,例如:
我有一个看起来像这样的数组:
什么是一种简短的 Ruby 惯用方式来迭代我的数组并将哈希中相应键的累积总数相加?
上述结果将等于:
ruby-on-rails - 为什么在 Ruby 中有时需要括号?
我最近在查看Rails 文档中的一些 Ruby 代码时遇到了一个奇怪的问题。
Ruby 允许您像以下示例一样传递参数:
但第二个案例在我看来很奇怪。看起来你应该能够像这样通过它:
不管有没有括号,它的含义都是一样的。但相反,你得到:
后指冒号action
。我不确定为什么会在}
那里期待,以及为什么使用括号会改变这一点。