尝试在Rails 3中发送回形针附件。
发票模型:class Invoice < ActiveRecord::Base
has_attached_file :attachment,
:url => "http://server/app/attachments/:id/:style/:basename.:extension",
:path => ":rails_root/public/attachments/:id/:style/:basename.:extension"
validates_attachment_presence :attachment
validates_attachment_size :attachment, :less_than => 5.megabytes
end
account_mailer:
def email_approver(invoice)
@subject = 'Invoice Approval Request'
@body["invoice"] = invoice
#attachment "application/octet-stream" do |a|
#a.body = File.read(invoice.attachment.to_file.path)
#a.filename = invoice.attachment_file_name
#end
@recipients = [invoice.approver_email, invoice.alternate_approver_email].compact
@from = "ADMIN"
@sent_on = Time.now
@headers = {}
end
错误:NoMethodError (undefined method `filename=' for #<Mail::Part:0x00000002566dd0>):
任何想法?谢谢!
你试过这样做吗
attachments[invoice.attachment_file_name] = File.read(invoice.attachment.to_file.path)
?
这是一个老问题,但这是我的工作解决方案:
attachments[mymodel.attachment.filename] = File.read(mymodel.attachment.path)