1

我创建了一个联系表格,一旦发送就会给我发电子邮件。现在我需要能够选择附加将通过电子邮件发送给我的文档。我不需要将它保存在数据库中,因为它将与电子邮件一起并从那里下载。

我是 Rails 新手,所以想看看其他人在这种情况下做了什么,我做了一些阅读,发现在大多数情况下我需要 gem 回形针?我也看过 github 中的 jquery/paperclip 但这似乎需要做很多工作,因为我希望这只是一小部分工作?我可能在这里错了,如果我错了,请道歉

非常感谢任何帮助

4

1 回答 1

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
于 2012-05-23T00:41:16.270 回答