使用mongoid gem时未初始化的常量错误

时间:2013-12-10 01:40:30

标签: ruby-on-rails ruby mongodb rake-task

我已经开始使用mongoid gem,但是我收到了一个未初始化的常量错误

我已经定义了一个Tweet文件

class Tweet
  include Mongoid::Document
  field :tweet_id, type: Int  
  field :created_at, type: DateTime
  field :text, type: String         
  field :user_id, type: Int       

  embedded_in :user  
end

另一份文件用户

class User
  include Mongoid::Document
  field :name, type: String
  field :screen_name, type: String
  field :user_id, type: Int

  embeds_many :tweets    
end

我想写一个rake任务来创建和插入数据库中的推文。 rake任务的代码

我的推文存储在路径为@pathtofile

的文件中
task :readtweet => :environment do
    File.readlines(@pathtofile).each do |line|
        line=line.chomp()
        tweet_hash = JSON.parse(line)
        Tweet.new(created_at: my_hash['created_at'], text: my_hash['text'] )         
    end
end

但每次执行rake任务时都会给我错误。

uninitialized constant Tweet::Int
/home/c0mrade/testapp/app/models/tweet.rb:4:in `<class:Tweet>'
/home/c0mrade/testapp/app/models/tweet.rb:2:in `<top (required)>'
/home/c0mrade/testsapp/lib/tasks/data.rake:22:in `block (3 levels) in <top (required)>'

我已按照mongodb site

上的安装说明进行操作

有人可以帮我解决这个错误吗?

1 个答案:

答案 0 :(得分:1)

应该是Integer而不是Int吗?我不知道这是否会解决您的问题,但我没有在任何文档中看到Int(如果我错了请纠正我。)