7

私は activerecord-import gem を使用しようとしています。wiki の指示に従ってティーを作成しましたが、NoMethodError: undefined method 'import' for #<Class:0x8b009b0>. これが私のコードです(基本的にwikiの例と同じです)

    class ExampleCode
      def self.testing
        orders = []
        10.times do |i|
          orders << Order.new(:raw_data => "order #{i}")
        end

        Order.import orders

      end
    end

メソッドを次のように呼び出します。

ExampleCode.testing

Windows、Linux、sqlite データベース、mysql データベースで試しましたが、まだうまくいきません。そして、私は宝石がインストールされていると確信しています:

actionmailer (3.2.6, 3.2.3, 3.2.1, 3.2.0)
actionpack (3.2.6, 3.2.3, 3.2.1, 3.2.0)
activemodel (3.2.6, 3.2.3, 3.2.1, 3.2.0)
activerecord (3.2.6, 3.2.3, 3.2.1, 3.2.0)
activerecord-import (0.2.10)
activerecord-oracle_enhanced-adapter (1.4.1)
activerecord-sqlserver-adapter (3.2.1)....

私はrequireを使用しようとしました(gemがインストールされている場合は必要ありません。これは他の場所では見られなかったので、非常に明白なものを見逃さなければならないのではないかと心配しています

4

2 に答える 2

3

active_record と activerecord-import をインポートする必要があります

すなわち

require active_record
require activerecord-import

(ウィキに書いてある通り)

その理由は、それらのライブラリを明示的にインポートしない限り、ruby はそれを認識できないからです。Rails プロジェクトの場合、Rails は Gemfile に記載されているすべての gem をインポートします。

于 2012-08-29T23:56:34.063 に答える