Я перебираю все мои shop
записи и отправляю им электронное письмо, если order
неверен.Он работает нормально через 2 или 3 магазина, но после этого я получаю эту ошибку:
RuntimeError: Can't add attachments after
mail was called.
Make sure to use attachments[]= before calling mail.
Это мой код для создания и отправки вложений:
def order_report
shops = Shop.where(subscribed: true, setup: true)
shops.each do |shop|
@sheet = OrderReport.new(shop)
@sheet.create_order_workbook
get_data_for_inside_email
time = Time.now
attachments["test_book.xlsx"] = File.read("test_book.xlsx")
excel_sheet_line_count = %x{wc -l "test_book.xlsx"}.split[0].to_i #this is just seeing how many lines the file is.. an empty sheet returns as 13
if excel_sheet_line_count > 13
mail(to: "some_email@gmail.com", subject: "FBA Shipping Report for #{time.strftime("%B %d")}")
end
end
end