2015-12-15 27 views
0

我使用了refile gem來上傳文檔。一旦上傳文件,然後通過電子郵件發送給一些收件人。Rails 4 Refile和郵件程序

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 

error: no implicit conversion of Refile::File into String

2)我可以動態地改變存儲文件的位置?

回答

0

我能夠通過直接調用對文件的讀取,而不是使用#read作爲File類方法,將文件附加到我的application_mailer.rb文件內的對象的郵件程序中。我在軌使用的ActionMailer和郵件的方法是這樣的,假設revision是具有commented文件,如你的數據庫連接中描述的數據庫對象:

def send_mailer(revision) 
    @revision = revision 

    attachments["filename_here"] = @revision.commented.read 
    mail(to: "[email protected]", subject: "Here's your file!") 
end 

不知道,如果你使用的ActionMailer作爲好吧,但如果你是,這可能工作!