我需要怎样做才能使activerecord-import起作用?

8

我正在尝试使用activerecord-import,但我的应用似乎无法识别它的存在。

我得到了

undefined method `supports_import?' for #<Class:...>

或者
undefined method `import' for #<Class:...>

无论我做什么。我已经搜索了几天并尝试了我能想到的一切

当我们使用rails 2.3.5和ar-extensions时它是有效的,但自从升级到rails 3.2后就失效了。

每个人都说解决方法是使用activerecord-import,但我好像不知道如何做。我已经安装了gem--我相信是适合我的ActiveRecord版本的正确版本--并在我的代码中引用了它,但肯定还有其他事情我需要做。

我在我的Gemfile中有这个:

gem 'activerecord-import', "~> 0.3.0"

这是我的代码中的内容:
require 'activerecord-import'

以下是我的宝石列表:

$ gem list

*** LOCAL GEMS ***

actionmailer (3.2.13)
actionpack (3.2.13)
active_utils (2.0.0, 1.0.5)
activemerchant (1.38.1, 1.37.0, 1.34.1)
activemodel (3.2.13)
activerecord (3.2.13)
activerecord-import (0.3.1)
activeresource (3.2.13)
activesupport (3.2.13)
acts_as_tree (1.1.0)
arel (3.0.2)
builder (3.0.4)
bundler (1.2.1)
capistrano (2.15.5)
ckeditor (4.0.6)
climate_control (0.0.3)
cocaine (0.5.1)
coffee-rails (3.2.2)
coffee-script (2.2.0)
coffee-script-source (1.6.3)
composite_primary_keys (5.0.13)
dbf (2.0.6)
erubis (2.7.0)
exception_notification (3.0.1)
execjs (2.0.1, 1.4.0)
fastercsv (1.5.5)
friendly_id (4.0.10.1)
highline (1.6.19)
hike (1.2.3)
i18n (0.6.1)
journey (1.0.4)
jquery-rails (3.0.4)
json (1.8.0)
libv8 (3.16.14.3 x86_64-linux, 3.11.8.17 x86_64-linux)
mail (2.5.4)
mime-types (1.25, 1.23)
mini_magick (3.6.0)
mini_portile (0.5.1)
money (5.1.1)
multi_json (1.8.0, 1.7.9, 1.7.7)
mysql2 (0.3.13)
net-scp (1.1.2)
net-sftp (2.1.2)
net-ssh (2.6.8)
net-ssh-gateway (1.2.0)
newrelic_rpm (3.6.7.152)
nokogiri (1.6.0, 1.5.10)
orm_adapter (0.5.0)
paperclip (3.5.1, 3.5.0)
polyglot (0.3.3)
rack (1.4.5)
rack-cache (1.2)
rack-ssl (1.3.3)
rack-test (0.6.2)
rails (3.2.13)
railties (3.2.13)
rake (10.1.0, 0.9.2.2)
rdoc (3.12.2)
ref (1.0.5)
rmagick (2.13.2)
rubygems-bundler (1.1.0)
rvm (1.11.3.5)
sass (3.2.10, 3.2.9)
sass-rails (3.2.6)
sprockets (2.2.2)
sqlite3 (1.3.8)
subexec (0.2.3)
therubyracer (0.12.0, 0.11.4)
thor (0.18.1)
tilt (1.4.1)
tinymce_fm (0.0.2)
treetop (1.4.15, 1.4.14)
tzinfo (0.3.37)
uglifier (2.2.1, 2.1.2)
will_paginate (3.0.4)
zip (2.0.2)
1个回答

6
答案是,您需要采取一些特殊步骤才能使用这个特定的宝石。
  require "activerecord-import/base"
  ActiveRecord::Import.require_adapter('mysql2')

以下内容摘自activerecord-import的Github Wiki页面


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接