Rails 4 Refile和邮件

时间:2015-12-15 06:25:22

标签: ruby-on-rails refile

我正在使用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)我可以动态更改商店文件的位置吗?

1 个答案:

答案 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,但如果您使用的话,这可能会有效!