Я хотел бы определить задачу rake Ruby (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="bob@example.com"
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, но это не сработало. Я получил
rake aborted!
ActiveRecord::ConnectionNotEstablished
Что мне нужно сделать, чтобы у меня был тот же доступ к классу модели User в задаче Rake, что и в консоли Rails?