Build-in rake 작업은 잘 작동하지만 Project / lib / tasks / payments.rb의 새 사용자 정의 작업은로드되지 않습니다.
namespace :payments do
desc "Tally payments at the end of the month"
task :compute => :environment do
BillingPeriod.compute_new_period
end
end
$ rake payments:compute
(in /Users/rob/Code/Apps/skyfarm)
rake aborted!
Don't know how to build task 'payments:compute'
application.rb 파일을로드하면 정상적으로 작동합니다.
require 'lib/tasks/payments.rb'
…하지만 다른 것들을 깨뜨립니다.
$ rails s
./lib/tasks/payments.rb:1: undefined method `namespace' for main:Object (NoMethodError)
답변
파일 확장자를 .rb
에서 .rake
.
답변
이 특정 경우에는 .rake
확장자가 없으면 오류가 발생했습니다. 그러나 오늘 Rails 4.2 앱에서 동일한 문제가 발생했습니다. desc
rake 작업에 대한 작업 이 없었기 때문입니다. 자신의 작업을 작성 중인지 (즉 생성하지 않는 경우) desc
.
자세한 정보 : http://guides.rubyonrails.org/command_line.html#custom-rake-tasks
답변
Rails 가이드 2.10 Custom Rake Tasks에 따라
커스텀 레이크 작업은 .rake 확장자를 가지며 Rails.root / lib / tasks에 있습니다.
그러나 당신은 .rb
연장 이 있습니다.