0

我在视图的部分 _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。我用嵌套项目来做,但这是一个简单的回形针实现。

欢迎任何帮助,谢谢。

4

2 回答 2

0

你可以这样做:

在模型中:

accepts_nested_attributes_for :logos, :allow_destroy => true

在表格中

if !f.object.logo_file_name.blank?
  f.input :_destroy, :as => :boolean, :label => "Delete?"
end

希望这有帮助

于 2013-06-13T10:14:42.417 回答
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 %> 

为我工作。

于 2013-07-23T13:43:00.950 回答