我创建了一个联系表单,一旦发送就会给我发电子邮件。现在,我需要能够选择附加将通过电子邮件发送给我的文档。我不需要将它保存在数据库中,因为它将与电子邮件一起保存并从那里下载。
我是铁杆新手,所以想看看其他人在这种情况下做了什么,我做了一些阅读,看到我在大多数情况下都需要宝石回形针?我也看过github中的jquery / paperclip,但这似乎是我希望的一小部分工作的很多工作?我心里可能错了,如果我是
,请道歉任何帮助非常感谢
答案 0 :(得分:2)
您需要做的是使用carrierwave gem或paperclip gem将文件上传到公共目录中的指定文件夹。我会使用ajax来执行此操作,这将允许您在选择要发送的文件后立即上载文件。这将允许您上传附件并使文件路径已知并准备就绪,因此当您单击“提交”时,将执行以下代码以允许您发送文件。如果您不想在服务器上累积文件,也可以添加一行代码以在文件成功发送后删除该文件。这里可以找到更多文档.. http://guides.rubyonrails.org/action_mailer_basics.html#sending-emails-with-attachments
class ApplicationMailer < ActionMailer::Base
def welcome(recipient)
attachments['free_book.pdf'] = File.read('path/to/file.pdf')
mail(:to => recipient, :subject => "New account information")
end
end