ruby-on-rails - 主要 : Object in rails console 的未定义方法 `y`

标签 ruby-on-rails console rails-console

我总是使用“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 方法这辈子还真是第一次听说。我一直使用 ppp(后者在包括 '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/

相关文章:

ruby - Rails 控制台无法在服务器上运行

ruby-on-rails - 访问 HABTM 连接表记录

ruby-on-rails - Rails上传文件到ftp服务器

ruby-on-rails - 覆盖 database.yml 的策略

jquery - 单击编辑超链接时将标签更改为文本框

ruby-on-rails - logger.debug vs 放入 Rails 调试?

.htaccess - 如何隐藏所有控制台错误

ruby-on-rails - 如何在非 Rails 项目中使用 Rails 控制台?

c# - ToastContentBuilder' 不包含 'Show' 的定义

windows - 为什么我的 Qt 4.5 应用程序在 Windows 下打开一个控制台窗口?