我正在尝试使用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)
解决方法
答案是,您需要采取一些特殊步骤来使用这个特定的宝石.
require "activerecord-import/base" ActiveRecord::Import.require_adapter('MysqL2')