我正在尝试编写一个rake任务来定期生成Excel报告,并将生成的文件用作ActionMailer
附件。
我目前有一个有效的transactions#report
动作来按照用户的要求生成文件,我采取的方法是在rake任务中调用同样的动作,但我不知道如果正在生成excel文件或如何访问它以将其用作附件。我不知道这是否可以在rake任务中生成模板视图,以后我可以使用。
这是我目前的佣金任务代码:
lib\tasks\informes.rake
namespace :reports do
desc "Generate daily transaction reports and attach it by email"
task attach_transactions: :environment do
session = ActionDispatch::Integration::Session.new(Rails.application)
session.get "/transactions/report"
end
end
这是生成excel文件的事务控制器中的方法。
def report
@transactions = Transaction.all
respond_to do |format|
format.xlsx
response.headers['Content-Disposition'] = 'attachment; filename="Informe_Suministro.xlsx"'
end
end