Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

What do I need to do to get activerecord-import to work?

I am trying to use activerecord-import, but I can't seem to get my application to recognize its existence.

I get

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

or

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

no matter what I do. I've been googling this for days and trying everything I can think of

It worked when we had rails 2.3.5 and ar-extensions, but since upgrading to rails 3.2 it has been broken.

Everyone says the solution is to use activerecord-import, but I don't seem to know how to do that. I have installed the gem -- I believe the correct version for my version of ActiveRecord -- and I've required it in my code, but there must be some other thing I have to do.

I have this in my Gemfile:

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

this in my code:

require 'activerecord-import'

and this is my gem list:

$ 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)
like image 606
user1070300 Avatar asked Dec 13 '13 21:12

user1070300


1 Answers

The answer is that there are some special steps you need to take to use this particular gem.

  require "activerecord-import/base"
  ActiveRecord::Import.require_adapter('mysql2')

This was found on the github wiki page for activerecord-import

like image 181
user1070300 Avatar answered Nov 15 '22 06:11

user1070300