我想定義一個將用戶添加到User表的Ruby(1.9.2)-on-Rails(3.0.5)rake任務。該文件是這樣的:Rails Rake任務 - 訪問模型類
#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
我測試的代碼:在Rails的控制檯adduser的任務,並能正常工作。 我測試rake任務,在任務的身體只運行
print "defaultuser:adduser"
,它工作得很好。
然而,當我將它們結合在一起,它抱怨,說
rake aborted!
uninitialized constant User
我在耙文件的命名空間定義的上方嘗試了
require File.expand_path('../../../app/models/user.rb', __FILE__)
,但沒有奏效。我得到了
rake aborted!
ActiveRecord::ConnectionNotEstablished
我需要做什麼以便我在Rails任務中擁有對Rails任務中User模型類的相同訪問權限?
類似的問題:[?難道軌耙任務提供訪問ActiveRecord的模式] [1] [1]:http://stackoverflow.com/questions/876396/do-rails-rake-tasks -provide-access-to-activerecord-models – 2012-05-07 03:54:21