问题标签 [ruby-2.0]

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 投票
3 回答
4041 浏览

ruby-on-rails - ApplicationController:Class 的未定义方法“caches_action”

我正在尝试升级到 rails 4 beta 1,但我有点问题。

简而言之,这就是我的应用程序控制器的样子。

caches_action在 Rails 4 中被移到它自己的 gem 中,所以包含 gem 应该可以解决问题。

但是当我运行我的请求规范或在浏览器中访问应用程序时,我得到了这个错误。

这是为什么?

  • 导轨 4.0.0.beta1
  • 红宝石 2.0.0
  • 规范 2.13.1
0 投票
2 回答
939 浏览

ruby - Ruby 2.0 正则表达式和西里尔字母

在 ruby​​ 2.0 之前,正则表达式是这样工作的:

我更新了 ruby​​ 2.0,它有一个错误:

我该如何处理这个问题?没有\d在字符类中,它可以正常工作:

0 投票
4 回答
2742 浏览

ruby - 捆绑安装在 ruby​​ 2.0 升级时损坏

刚刚升级到 ruby​​ 2.0/rails 4.0 并尝试在新的 rails 项目上运行 bundle install 。每当它碰到尚未安装的东西时,它就会吐出:

所以然后我跑

它安装得很好,我重新运行 bundle install 并且每次运行到我尚未安装的 gem 版本时都必须重复此操作。这里有什么问题?

0 投票
3 回答
8832 浏览

ruby - 在一定的时间间隔或满足条件时执行循环

我试图在 30 秒内每秒检查一次。我还没有找到一个明确的方法来用 Ruby 做到这一点。目前正在尝试这样的事情:

类似的问题是它必须使用睡眠,这会使线程在其轨道上停止整整一秒钟。有没有另一种方法可以在不使用睡眠的情况下实现与上述类似的事情?有没有办法在基于时间的间隔上进行循环?

0 投票
1 回答
231 浏览

model - Rails 4 to_xml 问题与模型中的访问器覆盖

我在覆盖模型中的访问器并to_xml稍后在模型上使用该方法时遇到问题。问题是,这to_xml似乎使用了默认的 getter 方法,而不是使用read_attribute.

我的模型:

我正在使用它,以便通过始终对标签和 text_fields 使用正确的方法来轻松地运行我的 haml 视图中的参数。因为我需要修改一些属性,所以我覆盖了访问器。

问题是:当我运行时to_xml,我遇到了这个问题:

显然,to_xml正在使用我的自定义 getter 而不是read_attribute(:created_at),这将给出正确的值。我很惊讶在其他地方没有发现这个问题,但是有解决这个问题的方法吗?

0 投票
1 回答
155 浏览

sprockets - 这是 minitest、sprockets-rails 或 ruby​​-2 中的错误吗?

我想修补 sprockets-rails 中的一个错误,但是当我运行测试套件(使用 ruby​​-2.0.0-p0 和 ruby​​-head)时,出现以下错误:

我不清楚 Test::Unit 和 MiniTest 之间的关系,特别是因为我看到 test/unit.rb 引用 MiniTest::Unit

我可以通过几种方式修复这个问题,但我不确定应该归咎于哪个项目(例如我应该在哪里提交补丁):

  1. 在 ruby​​ 的 test/unit.rb 中,我可以将调用替换为size调用 to count,但这仅在Test::Unit期望成为ParallelEach测试套件的一部分时才合适
  2. 在 minitest 中,我可以别名countsize,如果 minitest 负责将ParallelEach对象发送到Test::Unit

这些中的任何一个是否合适,还是这里发生了其他事情(比如命名冲突)?

0 投票
1 回答
619 浏览

ruby - Ruby 1.9.3-p392+ 中的 SSL 连接错误

在 Ruby 1.9.3-p385 或更早版本中,我可以成功运行以下代码:

在 Ruby 1.9.3-p392 或更高版本中,我收到以下错误:

  • 我已经在最新版本的 rbenv 下安装了两个版本的 Ruby
  • 我正在运行 OpenSSL 1.0.1e
  • 我正在运行 OSX 10.8.3(最新版本)

Ruby 1.9.3p-385 和 1.9.3-p392 之间的 SSL 处理方式是否存在重大差异?

本质上,最终目标是使用 SSL ( https://secure.example.com )连接到某个 API 端点,而无需从客户端传递任何 SSL 证书的详细信息。理想情况下,我将能够使用 rest-client Gem 来实现这一点(这会引发与上面的代码相同的错误)。

0 投票
1 回答
1125 浏览

ruby - 当你的类没有定义 #each 时,返回 Enumerator::Lazy 的最佳方法是什么?

Enumerable#lazy依赖于您提供的可枚举#each方法。如果您的可枚举没有#each您不能使用的方法#lazy。现在Kernel#enum_for#to_enum提供指定除以下以外的枚举方法的灵活性#each

但是#enum_for和朋友们总是构造普通(非惰性)枚举器,从不Enumerator::Lazy

我看到Enumerator在 Ruby 1.9.3 中提供了这种类似的#new 形式:

不幸的是,该构造函数在 Ruby 2.0 中已被完全删除。此外,我认为它根本不可用Enumerator::Lazy。所以在我看来,如果我有一个带有方法的类,我想为其返回一个惰性枚举器,如果该类没有,#each那么我必须定义一些确实定义的帮助器类#each

例如,我有一Calendar堂课。对我来说,从一开始就列举每个日期是没有意义的。一个#each是没用的。相反,我提供了一种从开始日期(懒惰地)枚举的方法:

那个EachFrom类看起来像这样:

它有效,但感觉很重。也许我应该继承Enumerator::Lazy并定义一个构造函数,就像不推荐使用的构造函数一样Enumerator。你怎么看?

0 投票
2 回答
453 浏览

ruby - Windows 7 pc 中的 Ruby on Rails 安装程序问题

我刚刚安装在我的 windows 机器窗体railsinstaller.org中。

现在早些时候我已经安装在我的机器上Ruby2.0。因此,当我尝试从此处提到的命令提示符运行以下命令时:

得到错误:

现在,如果我卸载了这些Ruby2.0东西。但我也想在我的电脑上使用最新版本的 Ruby,这样我就可以像以前一样运行我的练习 ruby​​ 程序。- 请指导我,这样我就可以运行我的 Rails 并且只能从我的Sublime Text 2编辑器中运行 ruby​​ 程序而不会受到影响。

0 投票
1 回答
114 浏览

ruby-on-rails - 可以处理多个表和列名的 Rails 方法

希望你们一切都好!

我有一个一般性的询问,我想知道是否有善良的灵魂可以提供帮助?目前这确实是一个好奇的问题,但我觉得它可能是未来非常有用的信息片段。

是否可以编写一个可以传递表名和属性(列)名称并对其执行操作的方法?我想这种方法的主要用途是在对表进行重复操作时保持代码干燥。

作为一个例子(虽然完全是一个玩具例子)假设我有一个方法:

我已经弄清楚如何通过执行以下操作来访问表:

这将采用 underscored_lowercase_string 并返回表名,这样model_for_table("registered_user").find(1)虽然在表名可以被硬编码的情况下这是不必要的

但它不像model_for_table("registered_user").column_name上面例子中使用的那样。是否有类似于model_for_table上面提供的将字符串转换为属性名称的方法?

有谁知道我怎么能实现这个?有可能吗?

提前致谢