我总是使用“y”方法在我的 Rails 控制台中清理我的结果。但是它似乎不再起作用了。
我有结果要找到,我可以查看结果,但不是以干净的方式。这是我的 Rails 控制台:
Loading development environment (Rails 3.2.6)
1.9.3-p286 :001 > y Trip.all
Trip Load (0.1ms) SELECT "trips".* FROM "trips"
NoMethodError: undefined method `y' for main:Object
from (irb):1
from /home/timen/.rvm/gems/ruby-1.9.3-p286/gems/railties-3.2.6/lib/rails/commands/console.rb:47:in `start'
from /home/timen/.rvm/gems/ruby-1.9.3-p286/gems/railties-3.2.6/lib/rails/commands/console.rb:8:in `start'
from /home/timen/.rvm/gems/ruby-1.9.3-p286/gems/railties-3.2.6/lib/rails/commands.rb:41:in `<top (required)>'
from script/rails:6:in `require'
from script/rails:6:in `<main>'
1.9.3-p286 :002 >
最佳答案
y
方法这辈子还真是第一次听说。我一直使用 p
或 pp
(后者在包括 'pp'
之后)或 ap
(与awesome_print
gem )。
它不是 IRB 的一部分,也不是 pry 的一部分。
它可能来自您安装的特定 gem,因此请检查您的 gemfile 中最近的更改,或者您切换到 bundler 或 rvm,丢失了一些全局安装的 gem。
我的天啊,这就是编辑
y
由 yaml 库提供:
require "yaml"
将其添加到一些初始化脚本中,或添加到您的 .irbrc
文件中。
我的天哪,它不起作用!
它在 vanilla IRB 中有效,但在 rails 控制台中无效....
这就是为什么
Rails console 'y' helper returns NameError rather than yaml-formatting output表示 syck
YAML 库在 ruby 1.9.3 中被淘汰,取而代之的是 psych
,它没有 y
方法。
因此,请使用 awesome_print
或其任何较小的兄弟。
关于ruby-on-rails - 主要 : Object in rails console 的未定义方法 `y`,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13144372/