0

私は以下を持っており、それがすべきことは、毎月18日にレポートを生成することです。小さな問題に気づきました。次のエラーが表示されます

undefined local variable or method hospital_booking

また、次のことも指摘しています。

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

私の設定は正しいと確信しています。誰かが私が台無しにしてしまったところに手を差し伸べてくれたら、ありがとう。

病院予約

  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 
4

1 に答える 1

1

send_overtime_mailパラメータをbookings変数に取り、hospital_bookingメソッド内で使用しています。

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

動作するはずです。

于 2013-05-17T09:17:54.213 に答える