2013-05-17 4 views
0

다음과 같은 내용을 가지고 있으며 매월 18 일에해야 할 일에 대한 보고서를 생성합니다. 그냥 작은 문제를 발견했습니다.정의되지 않은 지역 변수 또는 메소드`hospital_booking

app/models/hospital_booking.rb:30:in `send_overtime_mail' 
    app/controllers/hospital_bookings_controller.rb:11:in `index' 

내 설치가 정확한지 확신 : 나는 다음과 같은 오류 또한 다음을 가리키는

undefined local variable or method hospital_booking

을 얻고있다. 누군가 내가 손을 내밀어 내가 고맙게 여기는 곳을 손에 넣을 수 있다면.

HosptialBooking

def self.send_overtime_mail(user, bookings) 
    OvertimeMailer.overtime_pdf(user, hospital_booking).deliver 
    end 

Scheduler.rake

desc 'Send hospital bookings overtime report' 
task :overtime_report => :environment do 
    if Date.today.day == 18 
    bookings = HospitalBooking.where(:day => Date.today.beginning_of_month..Date.today.end_of_month) 
    user = User.where(:roles => :administrator).first 
    OvertimeMailer.overtime_pdf(user, hospital_bookings).deliver 
    end 
end 

답변

1

send_overtime_mailbookings 변수에 매개 변수를, 다음은 메서드 내 hospital_booking을 사용하고 있습니다.

def self.send_overtime_mail(user, bookings) 
    OvertimeMailer.overtime_pdf(user, bookings).deliver 
end 

.

+0

그냥이게 잘하면 노력해야한다고 생각했는데 –

+0

작업이 정렬되었으므로 5 분이 지날 때까지 받아 들일 수 없게됩니다. –

관련 문제