Я получаю эту ошибку при редактировании модели, особенно когда я удаляю изображение, связанное с ней, и выбираю другое:
Paperclip::NotIdentifiedByImageMagickError in Admin/packsController#update
Chrysanthemumprueba4.jpg is not recognized by the 'identify' command.
C:/Users/.../vendor/plugins/thoughtbot-paperclip-fc792c8/lib/paperclip/geometry.rb:24:in `from_file'
Но когда я создаю новый пакет и выбираю для него изображения, он работает нормально.
У меня есть две таблицы: packs и pack_images, и pack_images содержит фотографии для связанного пакета, вот отношения:
class Pack < ActiveRecord::Base
has_many :pack_images, :dependent => :destroy
end
class PackImage < ActiveRecord::Base
belongs_to :pack
attr_accessor :height, :width
has_attached_file :photo, :url => "/:attachment/:class/:id/:style_:basename.:extension", :styles => {:principal => "240x240>", :original => "400x400>", ...}
end
Это действие контроллера, которое выдает мне ошибку:
def update
@pack = Pack.find(params[:id])
@pack.pack_products
unless params[:pack][:pack_images_attributes].nil?
params[:pack][:pack_images_attributes].count.times do |i|
unless params[:pack][:pack_images_attributes][:"#{i.to_s}"][:photo].blank?
file = params[:pack][:pack_images_attributes][:"#{i.to_s}"][:photo]
dimensions = Paperclip::Geometry.from_file(file)
@pack.pack_images[i].width = dimensions.width
@pack.pack_images[i].height = dimensions.height
end
end
end
respond_to do |format|
@pack.update_attributes(params[:pack])
format.html { redirect_to(admin_pack_path(@pack.id), :notice => 'Pack updated') }
end
Я заметил, что при обновлении я получаю меньше параметров (только имя фотографии), чем при создании (имя фотографии, тип файла, ширина, высота и т. Д.).
Я надеюсь, что вы можете мне помочь
Большое спасибо