在上传表单的代码中:
<%= 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回答一次
总结以上是内存溢出为你收集整理的ruby-on-rails – 没有模型的Carrierwave临时文件全部内容,希望文章能够帮你解决ruby-on-rails – 没有模型的Carrierwave临时文件所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)