activerecord-import gem NoMethodError:未定义的方法'import'

yii*_*bie 6 activerecord ruby-on-rails activerecord-import

我正在尝试使用activerecord-import gem,我已经按照维基上的指示来开球了,但我得到了一个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
Run Code Online (Sandbox Code Playgroud)

我这样称呼方法:

ExampleCode.testing
Run Code Online (Sandbox Code Playgroud)

我试过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)....
Run Code Online (Sandbox Code Playgroud)

我甚至尝试使用require(安装宝石时不应该这样做.我没有看到它出现在任何其他地方所以我担心我必须错过一些非常明显的东西

rb5*_*512 3

您必须导入 active_record 和 activerecord-import

IE

require active_record
require activerecord-import
Run Code Online (Sandbox Code Playgroud)

(正如维基百科中提到的)

原因是,除非您显式导入这些库,否则 ruby​​ 不会知道这一点。如果是 Rails 项目,rails 会为您导入 Gemfile 中提到的所有 gem。