问题标签 [ruby-2.1]
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-on-rails-3 - 之前使用 Ruby 1.9.3 构建了一个 RoR 应用程序,如果我使用新计算机并安装 Ruby 2.1.2 会导致问题吗?
我以前使用 Ruby 1.9.3 和 rails 3.0.1 构建了一个 RoR 应用程序。我之前已经使用此设置部署到 Heroku。如果我想在我的新计算机上使用 Ruby 2.1.2,当访问应用程序代码并尝试在 Heroku 上再次部署时,我的应用程序会因为不同的 Ruby 版本而遇到问题吗?
ruby-on-rails - 自动加载常量时检测到循环依赖(Rails 4、Ruby 2)
configs/routes.rb
Shutters
并且Paints
是Jobs
.
app/models/job.rb
AJob
包含很多Shutters
很多Paints
.
app/models/shutter.rb
包含Shutter
属于 oneJob
和 one Paint
。
app/models/paint.rb
APaint
属于一个Job
,但可以被Shutters
该工作中的许多人引用。
如果数据库中没有代码,两者都Jobs#show
可以正常工作。但是在添加油漆的那一刻,会引发 RuntimeError,“在自动加载常量 PAINT 时检测到循环依赖”。Jobs#edit
<%= debug @job.paints %>
Paints
解决此错误的最佳方法是什么?
编辑:控制器信息
应用程序/控制器/jobs_controller.rb
应用程序/控制器/shutters_controller.rb
应用程序/控制器/paints_controller.rb
ruby-on-rails - 如何获取调用别名方法的名称?
我有一个方法被调用,link_to_admin
然后我给另一个方法起别名simple_link_to
在这里,如果我打电话link_to_admin
,我会遇到一个问题,我想将值打印到<li>
标签中
前任。
如果我打电话simple_link_to
不需要<li>
标签。所以目前我正在传递一个options
,就像li_required
在我的方法中检查条件一样。这工作得很好,我知道这是正确的方法。
但是,在我试图找到类似simple_method
or的调用方法之前link_to_admin
,我尝试了:
这没有按预期工作。
我正在调用simple_method
或调用link_to_admin
方法,layout
所以__method__
总是link_to_admin
只返回。
但是caller[0]=~/
(.*?)'/ if am calling from
layout means, it's returning layout path and if I am calling from any other
helper or
class` 意味着它正在返回当前方法。
还有其他方法可以检查方法名称。
我知道这不是一个好问题,谁能告诉我其他方式。
注意:- 我创建了 alias_method 仅用于命名转换。除了添加<li>
标签之外,我没有做任何事情。
不仅在这里,很久以前就有这个疑问。我知道我可以再定义一种方法并且我可以做到。
离开我的场景,一般我想知道这个答案。
ruby - 在 Ruby 2.1 中从 ISO-2022-JP-2 转换为 UTF-8
我有一个 ISO-2022-JP-2 字符串,需要将其转换为 UTF-8,但出现错误。
更具体地说:我正在尝试阅读使用quoted-printable 传输的电子邮件。这封电子邮件包含单词tōtatsu
(注意 o 上方的重音),我正在转换给定的文本,如下所示:
基本上,这将替换=1B
为正确的\e
转义字符,并且字符串text
变为t␛$(D+W␛(Btatsu
.
Wikipedia 说它用于␛$(D
切换到JIS X 0212-1990,同样␛(B
用于切换回 ASCII。请注意,这␛$(D
是 ISO-2022-JP-2 中的新内容,它不是原始 ISO-2022-JP 的一部分。
但是,字符串的编码仍然是 ASCII,所以我想我必须强制使用正确的编码,因为 Ruby 无法知道实际的字符串是 ISO-2022-JP-2?
现在事实证明
无法转换给定的字符串:code converter not found (ISO-2022-JP-2 to UTF-8) (Encoding::ConverterNotFoundError)
如何将此字符串转换为 UTF-8?
ruby-on-rails - Rails 4 和 Jammit 路由问题 - 不应使用匹配
我已经升级到 Rails 4.0.5,我正在使用 Jammit 0.6.6。启动服务器时出现错误:
查看堆栈跟踪,我看到 Jammit 的 routes.rb 文件正在使用旧的路由 API。
除了在 Jammit 的 routes.rb 文件中手动更新代码之外,还有什么方法可以解决这个问题?
ruby-on-rails - Rails递归查看对象关联的奇怪行为
我有一个与自己相关联的评论表,用于回复。基本上,具有 parent_id 的评论也是对他的父评论的回复。
为了渲染这个,我使用了一个递归视图,它在过去很简单,但不适用于 rails 3.2.0 和 ruby 2.1.1
这是简化的代码:
输出是:
349223; 注释
数组
349229;评论
评论
在第二次迭代中,comment.replies
是一个评论,而不是一个数组,并且全部从那里掉下来。
但是,如果我更改第一行并添加重新加载:
一切开始工作,输出是:
349223; 注释
数组
349229;注释
数组
349230;评论
数组
我很想了解这里发生了什么以及关联如何返回单个对象实例而不是它们的列表以及为什么使用重新加载。
添加模型代码:
ruby - 比较相等的字符串在哈希中找不到相同的对象
我有两个看起来相等的字符串:
但是,当我在键是字符串的哈希中查找值时,它们在 Ruby 2.1.0 和 Ruby 2.1.1 中返回的内容不同:
这种行为有什么解释?Ruby 1.9.3 按预期工作。
ruby - bash 脚本无法使用 rbenv 和 ruby build 自动安装 ruby
下面的 shell 脚本运行没有错误,但是当它完成时,我发现它只运行了安装rbenv的脚本的第一部分,但没有从echo "========= Cloning ruby build调用所有行========="直到最后。我正在使用 Ubuntu 13.10 Lubuntu 变体。
如果我将脚本中的每个命令直接输入到终端中,一切正常,并且安装了 ruby 2.1.2,但如果改为运行脚本,尽管rbenv是,但不会安装ruby_build 和 ruby 2.1.2。
任何建议如何解决这个问题。
rbenv_ruby_installer.sh
ruby-on-rails - Ruby中带有条件逻辑的数组到哈希?
ruby 2.1.1
有没有办法以一行或更简洁的方式完成这段代码中的逻辑?
performance-testing - 在 Rails 4.1 和 Ruby 2.1 中使用 rails-perftest
在 Railscasts 411 性能测试http://railscasts.com/episodes/411-performance-testing Ryan 让我们在我们的 Ruby 版本中修补垃圾收集器。他正在使用 Ruby 1.9.3。Ruby 2.1.1 还需要它的新垃圾收集器吗?如果是这样,请遵循相同的说明?没有它,内存 perftest 不会生成任何数据。