我正在使用Carrierwave添加圖像並將其上傳到Amazon S3。這工作正常,一旦表格被保存,我會顯示圖像和一個x盒子刪除它。從導軌3和載波和jquery模型中刪除圖像
我想用AJAX來處理上點擊「X」形象」上的click事件我想刪除的形象和清除表單上的字段,以便輸入字段,則再次顯示
圖像字段是我在表單中編輯的模型類的屬性。
Person < ActiveRecord
attr_accessible: image
部分對我的形式,這部分顯示了圖像,如果它存在,否則輸入的是,file_field,如果它不存在,它
<div class="field">
<%= image_tag @pass.background_image_url(:thumb) if @pass.background_image? %>
<%= f.file_field :background_image if @pass.background_image.to_s == '' %>
<%= content_tag :div, '', class: "delete_image_fields" if @pass.background_image? %>
</div>
我有一些jQuery的,我可以sccessful隱藏圖像領域。
jQuery ->
$('.field .delete_image_fields').click ->
$(this).parent().find('img').hide()
event.preventDefault()
像場被隱藏沒有問題
什麼,我想發生是
一)清除傳球對象)輸入字段 b提交更改(遠程) Ç )刪除S3上的遠程圖像 e)重新顯示圖像的file_input字段,以便可以根據需要重新選擇
任何幫助或指針,將不勝感激
UPDATE
我已經部分工作,顯示corect字段並調整輸入鏈接。但我不知道如何真正刪除文件從模型屬性
我已經更新了部分到dispalsy無論是圖像Ro創建文件按鈕
<div class="field">
<%= f.label :background_image %><br />
<% if @pass.background_image?%>
<%= image_tag @pass.background_image_url(:thumb) %>
<%= f.file_field :background_image , style: "display:none"%>
<%= content_tag :div, '', class: "delete_image_fields" %>
<% else %>
<%= f.file_field :background_image%>
<% end %>
以下並更新了jQuery來此
$('.field .delete_image_fields').click ->
$(this).parent().find('img').hide()
$(this).hide()
$(this).parent().find('input').val('')
$(this).parent().find('input').show()
event.preventDefault()
嘿克里斯,你最終會找到一個方法來做到這一點? –