1

テスト中にコンソールに my_ar_object.errors.full_messages と入力するのに本当にうんざりしています...

だから、私はこれを定義したい:

module ActiveRecord
  class Base
    def err
      errors.full_messages
    end
  end
end

私の ~/.irbrc で、スクリプト/コンソール専用になるようにします。

Railsプロジェクトに属しているとは思わないので、いくつかのRails初期化子で定義したくありません(これはirbヘルパーです)

問題は、私がそれを行うと、これが起こることです:

/.../gems/rails-2.3.5/lib/initializer.rb:437:in `initialize_database':NoMethodError: undefined method `configurations=' for ActiveRecord::Base:Class

これを機能させる方法はありますか?

4

1 に答える 1

2

errメソッドを定義する前に、ActiveRecord を .irbrc にロードしましたか? 追加してみる

require 'active_record'

また

require 'rubygems'
gem 'activerecord', '2.3.5' # or whatever version you use

errメソッドを定義する前。

もう 1 つのヒント: irb は、現在のディレクトリとホーム ディレクトリで .irbrc ファイルを探します。したがって、プロジェクトのルート ディレクトリにプロジェクト固有の .irbrc を作成することもできます。この方法では、ActiveRecord をデフォルトの irb 構成に導入する必要はありません。これはかなり大きな依存関係であるためです。

于 2010-03-26T16:34:58.367 に答える