사용자 테이블에 사용자를 추가하는 Ruby (1.9.2) -on-Rails (3.0.5) 레이크 작업을 정의하고 싶습니다. 이 파일은 다음과 같습니다레일 레이크 작업 - 모델 클래스에 대한 액세스
#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 명령 작업을하고, 그것을 잘 작동합니다. 나는 작업의 몸에만
print "defaultuser:adduser"
를 실행 레이크 작업을 테스트하고 괜찮 았는데. 내가 그들을 결합 될 때
그러나, 그것은rake aborted!
uninitialized constant User
내가 레이크 파일의 네임 스페이스 정의 이상에서
require File.expand_path('../../../app/models/user.rb', __FILE__)
을 시도라고, 불평하지만, 작동하지 않았다. 내가 가지고있어
rake aborted!
ActiveRecord::ConnectionNotEstablished
레일즈 콘솔에있는 레이크 작업에서 사용자 모델 클래스에 동일한 액세스 권한을 가지려면 무엇을해야합니까?
비슷한 질문 : [? 레일 작업 액티브 모델에 대한 액세스를 제공 레이크 수행] [1] [1] : http://stackoverflow.com/questions/876396/do-rails-rake-tasks -provide-access-to-activerecord-models –