Обновление файлов CarrierWave (текст) в Ruby on Rails - PullRequest
1 голос
/ 11 декабря 2011

Я выяснил, как загружать файлы с помощью CarrierWave.Я понял, как затем загрузить эти файлы в текстовую область для редактирования.Мой вопрос:

Как мне обновить файлы CarrierWave после их редактирования в текстовой области?

Ответы [ 2 ]

3 голосов
/ 11 декабря 2011

Предполагается, что вы храните на локальном диске и что ваша конфигурация выглядит следующим образом

class User < ActiveRecord::Base
  mount_uploader :avatar, AvatarUploader
end

затем в действии вашего контроллера:

@user = User.find params[:id]
File.open(@user.avatar.current_path, 'r+') do |f|
   f.print params[:user][:avatar_textarea]
   f.truncate f.pos
end
1 голос
/ 13 декабря 2011

Я понял это, создав файл ruby ​​с тем же именем файла, что и обновляемый файл.Затем я заполнил этот файл содержимым текстовой области.Затем я вызвал update_attributes для обновляемого файла, указав его атрибут: file на только что созданный файл.После обновления атрибута я удаляю созданный мной файл.

Я пробовал это с помощью Tempfile, но не смог найти способ сохранить желаемое имя файла.

...