我正在使用refile gem上传文档。上传的文档然后通过电子邮件发送给某些收件人。
1)如何将邮件作为附件添加到使用refile存储的文档中?下面它不起作用
我在DB中有以下内容:
commented_id, varchar
commented_filename, varchar
commented_size, varchar
commented_content_type, varchar
附加文件:
@revisions.each do |revision|
mail.attachments["#{revision.file_filename}"] = File.read(revision.file)
end
错误:没有将Refile :: File隐式转换为String
2)我可以动态更改商店文件的位置吗?
答案 0 :(得分:0)
我能够通过直接调用文件读取而不是使用#read作为File类方法,在application_mailer.rb文件中单独从对象将文件附加到邮件程序。我在rails中使用ActionMailer,邮件程序方法如下所示,假设revision
是数据库对象,其中附加了commented
文件,如数据库中所述:
def send_mailer(revision)
@revision = revision
attachments["filename_here"] = @revision.commented.read
mail(to: "email@email.com", subject: "Here's your file!")
end
不确定您是否也在使用ActionMailer,但如果您使用的话,这可能会有效!