我想定义一个Ruby(1.9.2)-on Rails(3.0.5)rake任务,将用户添加到用户表中.文件如下所示:
#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任务中测试了代码,效果很好.
print "defaultuser:adduser"
在任务主体中,它工作得很好.
然而,当我把它们结合在一起时,它抱怨说
rake aborted!
uninitialized constant User
我试了一个
require File.expand_path('../../../app/models/user.rb', __FILE__)
在rake文件中的名称空间定义之上,但这不起作用.我得到了
rake aborted!
ActiveRecord::ConnectionNotEstablished
我需要做什么才能在Rake任务中访问与Rails控制台中相同的用户模型类?