我正在尝试使用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
我这样称呼方法:
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时不应该这样。我没有看到它在其他地方出现,所以我担心我必须错过一些非常明显的东西
答案 0 :(得分:1)
您必须导入active_record和activerecord-import
即
require active_record
require activerecord-import
(如维基中所述)
原因是,除非您明确导入这些库,否则ruby不会知道它。对于rails项目,rails会为您导入Gemfile中提到的所有gem。