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)