ruby-on-rails – 没有模型的Carrierwave临时文件
发布时间:2020-12-17 03:14:47 所属栏目:百科 来源:网络整理
导读:我需要能够将文件附加到邮件(使用Mailer)以获取最近上传的文件,该文件未链接到任何模型. 在上传表单的代码中: %= form_for(:mail,:url = {:action = 'send_mail'},:html = {:multipart = true}) do |f| %table summary="send_table" tr thAttachment/th td%
我需要能够将文件附加到邮件(使用Mailer)以获取最近上传的文件,该文件未链接到任何模型.
在上传表单的代码中: <%= form_for(:mail,:url => {:action => 'send_mail'},:html => {:multipart => true}) do |f| %> <table summary="send_table"> <tr> <th>Attachment</th> <td><%= f.file_field(:attachment) %><a id="attachment"></a></td> </tr> </table> <%= submit_tag "Send!" %> 现在,我在send_mail操作中正在做的事情是这样的: MyMailer.send_mail(params[:mail][:attachment]).deliver params [:mail] [:attachment]是使用表单上传的临时文件的路径.怎么能这样做? 这也意味着另一个问题:一旦发送邮件,我应该从temp手动删除文件吗?如果有,怎么样? 解决方法
复制评论中的答案,以便从“未答复”过滤器中删除此问题:
最后钉了它: unless (params[:mail][:attachment]).nil? uploader = AttachmentUploader.new uploader.cache!(params[:mail][:attachment]) @file_name = uploader.filename @file_data = uploader.file.read() end 然后 MyMailer.send_mail(@file_name,@file_data) ?每user1563325回答一次 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |