问题标签 [ruby-1.9.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 投票
2 回答
1766 浏览

ruby-on-rails - 与 memcached 不兼容的字符编码

我收到一个 rails 错误,因为它需要 UTF-8,memcached 正在将我的字符串转换为 ASCII-8BIT。我正在缓存包括符号在内的货币数据,以防止对数据库造成不必要的打击。

我的方法在这里:

被缓存的部分是 UTF-8。

然而,当它出现在 ASCII-8BIT 中时,看起来像 "\xE2\x82\xAC"

我不确定memcache如何处理字符串,如果我应该/可以强制它,所以将字符串保存为UTF,(不知道为什么它会转换它)或者当我把它拉出来时强制它回到UTF?

0 投票
15 回答
37612 浏览

rubygems - 由于规范中的日期格式,gemspec 无效

当我在 Gemfile 中包含我制作的 gem 时,感谢 Bundler(版本 1.0.12),然后我尝试像这样捆绑或耙:

$ rake

我收到此错误消息:

我在最后一个 Mac OS X (10.6.4) 上,有:

和:

我真的不知道如何解决这个问题。感谢您的任何想法。

0 投票
3 回答
2225 浏览

ruby - 使用 RVM 在 Leopard 10.5.8 上更新到 Ruby 1.9.2

似乎有很多关于通过雪豹迁移到 1.9.2 的文档,但特别是关于 Leopard 的文档并不多。

运行 Mac OS X Leopard 10.5.8 rvm 1.6.3 xcode 3.1.4

一开始我很难安装 rvm,但使用此修复程序并安装了 rvm。我输入:

(如果我尝试不使用 sudo 命令进行安装,则会失败)切换默认版本:

当我将其设置为没有 sudo 命令的默认值时。

我收到一个以以下结尾的错误日志:

然后我输入

但是当我关闭终端并重新打开时,它又回到了 1.8.7

关于如何让这个 ruby​​ 安装成为我的默认设置的任何想法?

这是我的 bash 个人资料


更新

解决了。 我从'which ruby​​'(1.8.7版本)转到文件位置备份文件并删除它。现在 ruby​​ -v 返回 ruby​​ 1.9.2p188(2011-03-28 修订版 31204)[i386-darwin9.8.0]

请参阅下面的评论,了解为什么这是一个坏主意。


更新 2

解决了,真的除非我做了一些愚蠢的事情。因此,按照线程中的说明进行操作后,我清除了原始问题中的所有 Sudo 问题。我通过使用 implode 命令卸载 RVM、删除文件夹并在不使用任何 sudo 命令的情况下重新安装来做到这一点。

以下问题是我可以强制rvm 一次仅使用 1.9.2 作为一个会话的默认值。我刚刚通过阅读这个 stackthread force rails to use 1.9.2来解决这个问题,有人建议使用该$ echo $PATH命令。我做到了,它看起来与我认为的 bash 配置文件中的完全不同。

看起来像 /opt/local/bin:/opt/local/sbin:/usr/local/bin:/usr/local/sbin:/usr/local/mysql/bin:/Users/mikalfm/.rvm/gems/ruby-1.9.2-p180/bin:/Users/mikalfm/.rvm/gems/ruby-1.9.2-p180@global/bin:/Users/mikalfm/.rvm/rubies/ruby-1.9.2-p180/bin:/Users/mikalfm/.rvm/bin:/usr/bin:/bin:/usr/sbin:/sbin:/usr/local/bin:/usr/X11/bin:/usr/local/git/bin

事实证明,我认为我的 .bash_profile 中有几行被 ## 注释掉了,但没有。 export PATH=/opt/local/bin:/opt/local/sbin:$PATHexport MANPATH=/opt/local/share/man:$MANPATH。它们直接与我认为的 $PATH 相矛盾export PATH="/usr/local/bin:/usr/local/sbin:/usr/local/mysql/bin:$PATH"

我从我的个人资料中删除了这些行。我想如果存在依赖关系并且我需要再次使用 Mac Ports,我可以将它们重新添加。同样,有人让我知道这是否是错误的方法,但即使我启动一个新终端,它现在也适用于我。

0 投票
1 回答
746 浏览

rspec - rake spec 在 rake spec:(models|controllers|views) 通过时失败

我在 rspec 邮件列表上问了这个问题,但没有得到回复,所以我想我会在这里尝试。

当我在 ruby​​ 1.9.2-p180 上使用 rspec 1.3.2 和 rspec-rails 1.3.4 和 rails 2.3.11

他们都通过了。当我

他们都通过了。当我

他们都通过了。但是当我

我明白了

<path to gem>/activesupport-2.3.11/lib/active_support/dependencies.rb:177: stack level too deep (SystemStackError)

我一直在修改 rake 文件,当我改变时

t.spec_files = FileList['spec/**/*_spec.rb']

在默认任务中仅点击其中一个子目录,例如

t.spec_files = FileList['spec/models/**/*_spec.rb']

然后耙规格工作。我已经为模型、控制器和视图做到了这一点,并且 rake 规范对每个都很好。但包括他们所有人都喜欢

t.spec_files = FileList['spec/models/**/*_spec.rb', 'spec/controllers/**/*_spec.rb', 'spec/views/**/*_spec.rb']

不起作用(上述相同的错误)。具有讽刺意味的是,仅包括模型和视图确实有效:

t.spec_files = FileList['spec/models/**/*_spec.rb', 'spec/views/**/*_spec.rb']

但似乎包括控制器在内的任何组合都会失败。这对我来说很奇怪,因为 rake spec:controllers 有效。除非它与文件和/或示例的数量有关。每个规范类型的文件和示例的数量是

仅使用 rake 规范确实适用于 Ruby 1.8.7(-p302) 和 Ruby 1.9.1(-p243)。

有没有人有任何想法?我可以单独运行每个组(甚至创建一个别名来一次完成所有操作),但是 rspec 必须启动应用程序 3 次。此外,这并没有解决为什么这不适用于 ruby​​ 1.9.2。

0 投票
2 回答
165 浏览

ruby - 引用自身内部的哈希项

我有一个很简短的问题。是否可以使用以下方式初始化哈希:

换句话说,我是否可以以某种方式在其内部引用一个未初始化的哈希,或者我必须这样做:

感谢您的评论。当然,这段代码是行不通的。我问是否有类似的方法,也许有不同的语法。Ruby 对我来说充满了惊喜 :)

0 投票
1 回答
518 浏览

ruby - 有什么方法可以让 FileUtils 使用 UTF-8 文件名?

我创建了这个 Ruby (1.9.2) 代码,最后一行失败:

消息是:

Errno::ENOENT(没有这样的文件或目录 - C:/.../test ├ñ├Â├╝.txt):

尽管最终会FileUtil.chmod调用File.chmod,但由于某种原因,它会在过程中与文件名混淆。

通常我只会使用File而不是FileUtils,但不幸的是我正在使用一个使用的 gem,FileUtils我希望我可以避免更改 gem 源。

有谁知道为什么会这样?来源FileUtils.chmod看起来很简单,但我仍然无法弄清楚问题所在。有没有办法让猴子补丁FileUtils让它工作?

谢谢。

0 投票
3 回答
2056 浏览

ruby - 哪个 zip 库适用于 Ruby 1.9.2?

我之前在 Ruby 1.8.7 中使用过 ruby​​zip gem,但我听说 ruby​​zip 不适用于 ruby​​ 1.9.2。

哪些 zip 库适用于 Ruby 1.9.2?

0 投票
1 回答
2308 浏览

ruby - nil:NilClass 的未定义方法“children”

好的。我在这里已经过时了。

我有一个大约 3 周没有工作过的 rails 应用程序......但是当我停止时,它并没有在任何地方产生这个错误。

我正在使用许多 gem 的最新版本,但它们似乎都在工作。我现在在 ruby​​1.9 下工作,所以我升级了一些东西来匹配它。我有理由确定这是自 3 周前以来唯一重要的改变。

许多页面渲染得很好,但一个页面失败,出现 NoMethodError "undefined method `children' for nil:NilClass" 和以下看似仅框架的堆栈跟踪。对于有问题的页面,我已经注释掉了整个 haml 页面、控制器方法、所有 before_filters、所有 application_controller 以及其他一些内容。

我已经降级了 haml 和 compass,怀疑它们是罪魁祸首,即使其他页面渲染得很好。我目前已经回到了除了我认为设计之外的所有东西的稳定分支,但这似乎不是问题的一部分,因为登录工作得很好。

我开始认为对 ruby​​ 1.9.2 的更改导致了这种情况,但我想不出它会如何。我将退回到 ruby​​ 1.8.7,以便我可以再次工作(希望如此),但我们的生产服务器运行 1.9.2,所以我会在某个时候需要它。

任何想法表示赞赏。

谢谢

编辑降级到 Ruby1.8.7 没有效果。我还在另一台没有 RVM 的计算机上尝试过。

按要求编辑Gemfile:

0 投票
1 回答
1699 浏览

ruby-on-rails - rails 3 ruby​​ 1.9.2 CSV“已经初始化常量..”警告

我想在我的一个模型中添加读取/写入数据到 CSV 文件的功能。在 1.9 之前的 ruby​​ 版本中,这将使用 fastCSV 完成,但现在这是 ruby​​ 的一部分。我有以下设置:

这很好用,但是当我开始运行测试时,我会收到大量表单的警告

如何删除这些警告?

0 投票
1 回答
465 浏览

ruby-on-rails - 红宝石回形针 1.9.2-p180

我正在尝试更新我的 Rails 3 应用程序以使用 ruby​​ 1.9.2

问题是回形针停止为我的上传创建附件/样式,并且只上传原始文件。

我正在使用 rails 3.0.7 和回形针 2.3.11

这一切都可以通过 RVM 切换到 1.8.7。

回形针适用于 1.9.2 吗?
有没有人让它工作?

请提供建议/修复/解决方案。

非常感谢瑞克