Ruby on rails Rails v3.2.1 Action Mailer为每个附件重复了正文文本
这是我的行动邮件与一个方法Ruby on rails Rails v3.2.1 Action Mailer为每个附件重复了正文文本,ruby-on-rails,actionmailer,email-attachments,Ruby On Rails,Actionmailer,Email Attachments,这是我的行动邮件与一个方法 class Clientmailer < ActionMailer::Base def sendinvoicesemail(eminvs,emref) @client = Client.find(eminvs[0].invclientid) recipients = '' 3.times do |num| recipients += eval('@client.clientemail'+(num + 1).to_s)
class Clientmailer < ActionMailer::Base
def sendinvoicesemail(eminvs,emref)
@client = Client.find(eminvs[0].invclientid)
recipients = ''
3.times do |num|
recipients += eval('@client.clientemail'+(num + 1).to_s) + ',' if eval('@client.clientinvemail' + (num + 1).to_s) == true
end
fpath = AppParam.val('SITEBASEADDR')+'/public/invs/'
eminvs.each do |inv|
fname = inv.invsuppjoinedname+'_'+inv.invno.to_s+'.pdf'
mail.attachments[fname] = File.read(fpath+fname)
end
mail(
:to => recipients,
:from => "GourmIndia Services GmbH Group<purvez@nexar.free-online.co.uk>",
:subject => "Invoices from GourmIndia Group / " + emref.to_s
#:sent_on => Time.now
)
end
end
最后,这是我的html正文文本:sendinvoicesemail.html.erb
<html>
<head>
<meta content="text/html; charset=UTF-8" http-equiv="Content-Type" />
</head>
<body>
<p>
Attached to this email you will find invoices for services recently supplied by GourmIndia Group Companies.
</p>
<p>
Please ensure that you pay in the correct currency, into the correct account and within <%= @client.clientcreditdays.to_s %> days from invoice date as per our agreement.
</p>
<p>
Thank you for booking with GourmIndia Group.
</p>
</body>
</html>
随信附上古尔明迪亚集团公司最近提供的服务的发票。
请确保按照我们的协议,在发票日期后的天内,以正确的货币、正确的账户付款。
感谢您在古尔敏迪亚集团预订。
问题是:附件中发票数量的正文文本不断重复
我正在使用Rails v3.2.1
有人能告诉我我做错了什么吗 ()
OP写:
解决方案:
在Clientmailer
中,我更改了行:
mail.attachments[fname] = File.read(fpath+fname)
到
attachments[fname] = File.read(fpath+fname)
我不完全理解为什么会是这样,如果有人能解释一下,这将是有用的
这个答案帮助我解决了同样的问题!你应该把它作为答案贴出来,然后把它设置为正确的。否则会使问题变得混乱。我想把它作为一个答案添加,但我不想被认为是因为它而获得荣誉。@jpcamara你可以把这个解决方案作为一个社区wiki答案发布(通过勾选答案下面的小框),那么很明显你不是因为这个答案而获得荣誉。我是为你做的。
attachments[fname] = File.read(fpath+fname)