Я могу загружать файлы изображений в виде вложений с помощью Attachment_fu, но когда я пытаюсь отредактировать/изменить изображения, которые уже были загружены, это не сработает. В моем контроллере у меня есть это:Ошибка обновления файла (изображение) с помощью Attachment_fu
def update
@sponsor_account = SponsorAccount.find(params[:id])
if params[:showcase_category_image_file] &&
!params[:showcase_category_image_file].blank?
@sponsor_account.showcase_category_image =
ShowcaseCategoryImage.new(:uploaded_data =>
params[:showcase_category_image_file])
***This logs - Now the file name is: ***
Rails.logger.info("Now the file name is: #
{@sponsor_account.showcase_category_image.filename}")
end
@sponsor_account.update_attributes(params[:sponsor_account])
if @sponsor_account.save
flash[:notice] = "Showcase category #{@sponsor_account.name} was updated!"
else
flash[:errors] = @sponsor_account.errors
end
redirect_to sponsor_accounts_path
end
ShowcaseCategoryImage определяется следующим образом:
has_attachment :content_type => :image,
:storage => :file_system,
:max_size => 5.megabytes,
:thumbnails => { :large => [350, 100], :medium => [200, 90], :thumb =>
[35,35], :preview => [60,60] }
validates_as_attachment
мнение имеет file_field_tag следующим образом:
<%= file_field_tag :showcase_category_image_file%>
и моя SponsorAccount модель говорит:
has_one :showcase_category_image, :as => :owner, :dependent => :destroy
validates_presence_of :showcase_category_image, :on => :create
Почти такой же код отлично работает в 'create', но здесь, в 'update', где уже есть значение, этот код не работает.
Я получаю ниже сбщ ошибки: Завершено 500 Внутренняя ошибка сервера в 1089ms ActionView :: Template :: Ошибка (неопределенный метод `public_filename» для ноль: NilClass): Очевидно, что эта ошибка находится в действии индекса где он пытается перечислить все записи и их приложения. Поскольку это вложение пусто после обновления, эта ошибка возникает в части redirect_to.
Я использую REE1.8.7 и рельсы 3.2.9
Пожалуйста, помогите!