У меня есть многоэтапная форма, вдохновленная этим railcast, который имеет 3 файла для загрузки изображений. Однако, когда я загружаю изображение, я получаю сообщение об ошибке can't dump File
.paperclip и проблема с загрузкой файлов
Из других вопросов в SO Я понимаю, что сохранение файла загрузки в сессии не работает, поэтому мне нужно отъ использовать что-то вроде этого:
unless @post.valid?
@post.assets.first.attachment.clear
@post.assets.first.attachment.queued_for_write.clear
end
Это, однако, не похоже на работу. Должен ли я просматривать три загрузки файлов и очищать их каждый раз? Как я могу избежать этой ошибки?
Вот моя создать функцию:
session[:post_params].deep_merge!(params[:post]) if params[:post]
session[:duration] = params[:post_duration] if params[:post_duration]
@post = Post.new(session[:post_params])
@post.current_step = session[:post_step]
unless @post.valid?
logger.info("attachment " + @post.assets.first.attachment.inspect)
@post.assets.first.attachment.clear
@post.assets.first.attachment.queued_for_write.clear
end
if @post.valid?
if params[:back_button]
@post.previous_step
elsif @post.last_step?
if @post.all_valid?
...
session[:post_step] = session[:post_params] = nil
redirect_to @post and return
end
else
@post.next_step
end
session[:post_step] = @post.current_step
end
if @post.new_record?
render "new"
end
end
Моя модель активов
class Asset < ActiveRecord::Base
# attr_accessible :title, :body
belongs_to :post
attr_accessible :attachment
has_attached_file :attachment, :styles => { :medium => "600x600>", :small => "200x200>", :thumb => "100x100>" },
:default_url => "no_image_:style.jpg"
end
У меня нет большого опыта работы с этим, в частности, таким образом, вы можете получить некоторое представление от этого [пост StackOverflow] (http://stackoverflow.com/questions/5876714/multi-step-form-in -rails-3-with-paperclip-attachments/8079113 # 8079113) –
@RichPeck, что действительно там, где я нашел предложение об очистке объекта изображения – Ayrad
это может помочь http://stackoverflow.com/questions/7079999/paperclipnotidentifiedbyimagemagickerrorimage -is-not-known-by-the-ident/16933264 # 16933264 – Nithin