Я не могу найти пример, который завершен во всех компонентах.У меня проблемы с удалением вложений изображений
Классы
class Product
has_many :product_images, :dependent => :destroy
accepts_nested_attributes_for :product_images
end
class ProductImage
belongs_to :product
has_attached_file :image #(etc)
end
Просмотр
<%= semantic_form_for [:admin, @product], :html => {:multipart => true} do |f| %>
<%= f.inputs "Images" do %>
<%= f.semantic_fields_for :product_images do |product_image| %>
<% unless product_image.object.new_record? %>
<%= product_image.input :_destroy, :as => :boolean,
:label => image_tag(product_image.object.image.url(:thumb)) %>
<% else %>
<%= product_image.input :image, :as => :file, :name => "Add Image" %>
<% end %>
<% end %>
<% end %>
<% end %>
Контроллер
class Admin::ProductsController < AdminsController
def edit
@product = Product.find_by_permalink(params[:id])
3.times {@product.product_images.build} # added this to create add slots
end
def update
@product = Product.find_by_permalink(params[:id])
if @product.update_attributes(params[:product])
flash[:notice] = "Successfully updated product."
redirect_to [:admin, @product]
else
flash[:error] = @product.errors.full_messages
render :action => 'edit'
end
end
end
Выглядит хорошо, но буквально ничего не происходит, когда я отмечаю флажок.В запросе вижу:
"product"=>{"manufacturer_id"=>"2", "size"=>"", "cost"=>"5995.0",
"product_images_attributes"=>{"0"=>{"id"=>"2", "_destroy"=>"1"}}
Но ничего не обновляется и изображение товара не сохраняется.
Я что-то упустил из-за того, как работает 'accepts_nested_attributes_for'?