User テーブルにユーザーを追加する 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 タスクでコードをテストしたところ、問題なく動作しました。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 モデル クラスにアクセスできるようにするには、どうすればよいですか?