我需要能夠將文件附加到郵件(使用郵件程序)以獲取最近上傳的未鏈接到任何模型的文件。Carrierwave Temporary File Without Model
在這種無二上傳表單代碼:
<%= 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
使用參數[: mail] [:attachment]是通過表單上傳的臨時文件的路徑。如何做到這一點?
這也意味着另一個問題:一旦發送郵件,我應該從temp中手動刪除文件嗎?如果是,如何?
終於明白了:'unless(params [:mail] [:attachment])。無? 載= AttachmentUploader.new uploader.cache(PARAMS [:郵件] [:附件])! @file_name = uploader.filename @file_data = uploader.file.read() end'然後'MyMailer.send_mail( @ file_name,@ file_data)' – muichkine
如果您是以自己的答案回顧解決方案的遊戲,我會刪除我的答案。 (請參閱http://meta.stackexchange.com/questions/90263/unanswered-question-answered-in-comments,瞭解爲什麼這會有所幫助。)謝謝! – DreadPirateShawn