Итак, у меня есть приложение, использующее rails 3 и mongodb, которое обслуживает файлы.Я хочу импортировать все файлы в gridfs, используя процесс бегуна, не создавая новые ObjectId для файлов, уже находящихся в системе.По сути, я хочу прикрепить файлы с помощью carrierwave к файловому объекту, уже находящемуся в базе данных.
По какой-то причине, когда я создаю новый файл документа, я могу без проблем прикрепить локальный файл.Однако я не могу прикрепить локальный файл к ранее созданному документу.
Я пробовал каждую форму обновления Mongoid и каждый раз получаю метод, отсутствующий или неопознанный метод.
Так, например, это работает:
somefile = Upload.new(
:name => "somefile.ext"
)
somefile.upload = File.open("/foo/bar.ext")
somefile.save!
Но это не так:
somefile = Upload.first(:conditions => {:name => "somefile.ext"})
somefile.upload = File.open("/foo/bar.ext")
somefile.save!
Есть идеи?