如何使用复选框删除回形针项目

时间:2013-06-13 02:12:00

标签: ruby-on-rails checkbox paperclip

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

欢迎任何帮助,谢谢。

2 个答案:

答案 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 %> 

适合我。