我在视图的部分_form中有下一个代码:
<%= f.label :logo %><br />
<% if f.object.new_record? %>
<%= f.file_field :logo %>
<% elsif %>
<%= link_to image_tag(f.object.logo.url(:thumb)), f.object.logo.url(:original) %>
<%= f.check_box %>
<% end %>
如果我选中复选框并按下编辑按钮,我会尝试删除object.logo。我使用嵌套项目,但这是一个简单的回形针实现。
欢迎任何帮助,谢谢。
答案 0 :(得分:0)
您可以这样做:
在模型中:
accepts_nested_attributes_for :logos, :allow_destroy => true
以表格
if !f.object.logo_file_name.blank?
f.input :_destroy, :as => :boolean, :label => "Delete?"
end
希望这个帮助
答案 1 :(得分:0)
今天我得到了解决这个问题的方法:
在品牌模型中:
attr_accessible :description, :title, :logo, :delete_logo
#delete existing logo from edit view with checkbox.
attr_accessor :delete_logo
before_validation { logo.clear if delete_logo == '1' }
在品牌视图中_form:
<% if @brand.logo? %>
<%= link_to image_tag(f.object.logo.url(:thumb)), f.object.logo.url(:original) %>
<%= f.check_box(:delete_logo) %>
<% else %>
<%= f.file_field :logo %>
<% end %>
适合我。