Rails Rake任务 - 访问模型类

我想定义一个Ruby(1.9.2)-on-Rails(3.0.5)rake任务,它将用户添加到User表中。该文件如下所示:
#lib/tasks/defaultuser.rake
require 'rake'
namespace :defaultuser do
  task :adduser do 
    u=User.new
    u.email="bob@example.com"
    u.password="password"
    u.save
    u.errors.each{|e| p e}
  end
end
然后我会调用任务为
> rake defaultuser:adduser
我测试了Rails控制台中的adduser任务中的代码,它运行正常。 我测试了rake任务,只运行
print "defaultuser:adduser"
在任务的主体,它工作得很好。 然而,当我把它们结合起来时,它抱怨道,说道
rake aborted!
uninitialized constant User
我试过了
require File.expand_path('../../../app/models/user.rb', __FILE__)
在rake文件中的命名空间定义之上,但是没有用。我有
rake aborted!
ActiveRecord::ConnectionNotEstablished
我需要做什么才能在Rails控制台的Rake任务中对User模型类具有相同的访问权限?     
已邀请:
你很接近:)
#lib/tasks/defaultuser.rake
require 'rake'
namespace :defaultuser do
  task :adduser => :environment do
    ...
  end
注意使用:environment,它在调用rake任务之前设置必要的Rails环境。之后,您的User对象将在范围内。     

要回复问题请先登录注册