3

Railsコンソールで結果を少しクリーンアップするために、常に「y」メソッドを使用していました。しかし、それはもう機能していないようです。

結果を見つけることができ、結果を表示することはできますが、きれいな方法ではありません。これは私の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 >
4

1 に答える 1

5

yメソッドについて聞いたのは、私の人生で初めてです。私は常にpまたはpp(を含めた後の後者'pp')またはapawesome_print宝石と一緒に)を使用してきました。

これは IRB の一部でもなく、pry の一部でもありません。

インストールした特定の gem に由来する可能性があるため、gemfile の最近の変更を確認するか、bundler または rvm に切り替えて、グローバルにインストールされた gem を失った可能性があります。

OH MY GOSH それが編集です

yyaml ライブラリによって提供されます。

require "yaml"

これを初期化スクリプトまたはファイルに追加し.irbrcます。

なんてこった、うまくいかない!

バニラ IRB では動作しますが、Rails コンソールでは動作しません....

今だからこそ

Rails コンソールの 'y' ヘルパーは、yaml 形式の出力ではなく NameError を返します。YAMLsyckライブラリは ruby​​ 1.9.3 で段階的に廃止され、メソッドpsychを持たない が優先されたことが示されています。y

したがって、awesome_printまたはその下位の兄弟のいずれかを使用してください。

于 2012-10-30T17:25:30.953 に答える