Я хотел бы определить задачу rake (1.9.2) -on-Rails (3.0.5), которая добавляет пользователя в таблицу User. Файл выглядит следующим образом:
#lib/tasks/defaultuser.rake
require 'rake'
namespace :defaultuser do
task :adduser do
u=User.new
u.email="[email protected]"
u.password="password"
u.save
u.errors.each{|e| p e}
end
end
Затем я вызывал задачу как
> rake defaultuser:adduser
Я тестировал код в задаче: adduser в консоли Rails, и он отлично работает. Я тестировал задачу рейка, работая только
print "defaultuser:adduser"
в теле задачи, и он работал нормально.
Однако, когда я их объединил, он жаловался, говоря
rake aborted!
uninitialized constant User
Я попробовал
require File.expand_path('../../../app/models/user.rb', __FILE__)
выше определения пространства имен в файле рейка, но это не сработало. Я получил
rake aborted!
ActiveRecord::ConnectionNotEstablished
Что мне нужно сделать, чтобы иметь тот же доступ к классу модели пользователя в задаче Rake, который у меня есть в консоли Rails?