0
我想导入一个CSV文件到我的SQLite3数据库中的一个现有表在一个铁轨项目。Rails的CSV导入 - 未初始化的常量对象::点
我曾尝试在this solution正确的答案,但我得到的错误:
uninitialised constant Object::Points
这里是我的data.csv文件,该文件是在我的主目录:
Item,2003,2004,2005,2006,2007
AA2,43,34,23,52,24
TT2,48,39,29,23,29
这里是我的模型文件保存在app \ models \ points.rb中:
class Points < ActiveRecord::Base
attr_accessible :Item, :2003, :2004, :2005, :2006, :2007
end
这是我的迁移文件这是保存在DB \迁移\ 20130709123346_create_points.rb:
class CreatePoints < ActiveRecord::Migration
def change
create_table :points do |t|
t.varchar(255) :Item
t.integer :"2003"
t.integer :"2004"
t.integer :"2005"
t.integer :"2006"
t.integer :"2007"
t.timestamps
end
end
end
下面是我根据上面链接正确的解决办法都试过:
创建新的文件名为import.rake并保存它在LIB \任务\ import.rake:
require 'csv' csv_text = File.read('data.csv') csv = CSV.parse(csv_text, :headers => true) csv.each do |row| Points.create!(row.to_hash) end
然后我在命令行运行
bundle exec rake import.rake
。
运行此之后,我得到的错误:
uninitialised constant Object::Points
我必须失去了一些东西,会导致此错误。我究竟做错了什么?
感谢您的帮助。当我运行这个任务时,它现在返回错误'syntax error,unexpected_key_end,期待$ end'。我删除了任务中的第一个'end',但是它然后返回一个稍微不同的错误:'语法错误,意外的$结束,期待keyword_end'。 – LogiKal
@LogiKal现在已经超出了这个问题的范围。我在上面提供的代码中没有块关闭问题。不幸的是,我无法修复我看不到的代码的语法错误。 – deefour
你知道我在哪里可以找到导致问题的代码吗? – LogiKal