【发布时间】:2016-11-23 18:44:33
【问题描述】:
我是 RoR 的新手,并尝试通过在 lib/电子表格下创建导入器来创建从谷歌电子表格导入数据库的任务。但是根据 SOF 中的其他一些问题,即使我添加了 :environment 任务,rake 也找不到我的进口商。这是我的文件
lib/电子表格/importer.rb
class SpreadSheet::Importer
def initialize
@session = GoogleDrive.saved_session("#{Rails.root}/config/google_drive/config.json")
end
def exec(table_name)
#do something
end
end
lib/tasks/spreadsheet.rake
namespace :spreadsheet do
task :get => :environment do
importer = Spreadsheet::Importer.new
importer.exec
end
end
错误:
rake 中止!
NameError: 未初始化常量
SpreadSheet/home/vagrant/workspace/ruby/kuwata-summer/lib/tasks/spreadsheet.rake:1:in
<top (required)>/home/vagrant/workspace/ruby/kuwata-summer/vendor/bundle/ruby/2.3.0 /gems/railties-5.0.0/lib/rails/engine.rb:654:in
block in run_tasks_blocks/home/vagrant/workspace/ruby/kuwata-summer/vendor/bundle/ruby/2.3.0/gems/railties-5.0.0/lib/rails/engine.rb:654:in
each/home/vagrant/workspace/ruby/kuwata-summer/vendor/bundle/ruby/2.3.0/gems/railties-5.0.0/lib/rails/engine.rb:654:in
run_tasks_blocks/home/vagrant/workspace/ruby/kuwata-summer/vendor/bundle/ruby/2.3.0/gems/railties-5.0.0/lib/rails/application.rb:443:in
run_tasks_blocks/home/vagrant/workspace/ruby/kuwata-summer/vendor/bundle/ruby/2.3.0/gems/railties-5.0.0/lib/rails/engine.rb:457:in
load_tasks/home/vagrant/workspace/ruby/kuwata-summer/rakefile:6:in
<top (required)>/home/vagrant/workspace/ruby/kuwata-summer/vendor/bundle/ruby/2.3.0/gems/rake-11.2.2/exe/rake:27:in
<top (required)>/home/vagrant/.rbenv/versions/2.3.1/bin/bundle:23:in
load/home/vagrant/.rbenv/versions/2.3.1/bin/bundle:23:in
<main>(通过使用 --trace 运行任务查看完整跟踪)
【问题讨论】:
标签: ruby-on-rails ruby rubygems rake google-spreadsheet-api