0
我在窗體中使用嵌套字段fields_for ..我需要動態添加多個附件並提交表單。在控制檯中我得到params用於在附件作爲回形針在rails中保存空值在db2.3
"reminder"=>{"message_addl_attachments_attributes"=>{"1380913359931"=>{"attachment"=>#<File:/tmp/RackMultipart20131005-4343-1cxemfz-0>}}
蔭不知道如何在控制器進行處理並保存附件。我已經正確地建立了這些關聯。 在控制器中,我是這樣做的。
def create_reminder
@reminder = Reminder.new
@addl = @reminder.message_addl_attachments.build(params[:reminder][:message_addl_attachments])
@addl.save
end
請在控制檯中找到完整的參數。
Processing ReminderPluginController#create_reminder (for 127.0.0.1 at 2013-10-05 00:53:33) [POST]
Parameters: {"reminder"=>{"subject"=>"nkljkl", "body"=>"<p>jkljkljkl jlkj</p>", "email"=>"", "message_addl_attachments_attributes"=>{"1380914609923"=>{"attachment"=>#<File:/tmp/RackMultipart20131005-4488-1agtr7m-0>}}}, "controller"=>"reminder_plugin", "select_batch"=>{"batch"=>"2"}, "select_department"=>{"department"=>""}, "recipients"=>"20", "authenticity_token"=>"L0py7Xdsf7JSQGqn2bdoE7EXDVN9ZmNNSwl0dbHMkfM=", "action"=>"create_reminder", "commit"=>"Send"}
[paperclip] Saving attachments.
Redirected to http://localhost:3000/reminder/create_reminder
Completed in 459ms (DB: 217) | 302 Found [http://localhost/reminder_plugin/create_reminder]
但它沒有將它保存在我的rails公共目錄中...在db中它也保存空值..請幫助。
============== myview.html.erb
<% form_for @reminder, :url => { :action => "create_reminder"
},:html=>{:multipart=>true} do |l| %>
<div class="addl_attachments">
<% l.fields_for :attachments do |a| %>
<%= render "message_addl_attachment_fields",:f=>a %>
<% end %>
<div class="add_addl_attachment">
<%= link_to_add_addl_attachment "#{image_tag
"buttons/add_2.png" } #{t('add_txt')}", l, :attachments %>
</div>
</div>
</div>
<div id="submit-button">
<%=submit_tag "#{t('send')}", :class => 'button',
:disable_with => "#{t('please_wait')}" %>
</div>
<% end %>
是的..我已經安裝了形象magick和給定的形式multipart =>真也... – rubyist
我不知道的是,我是否正在處理控制器中的附件params正確與否..因爲在控制檯附件的參數作爲_attributes另外.. – rubyist
也許檢查此鏈接http://www.emersonlackey.com/article/rails-paperclip-multiple-file-uploads :) – loog