载波背景 s3 recreate_versions
carrierwave backgrounder s3 recreate_versions
我正在尝试按照 https://github.com/carrierwaveuploader/carrierwave/wiki/How-to%3A-Recreate-and-reprocess-your-files-stored-on-fog 说明进行操作,但我遇到了错误。我的文件名为 hat.jpg
我正在使用 carrierwave_backgrounder,所以我需要这些说明来立即处理。
with_avatar.each do |instance|
begin
instance.process_avatar_upload = true
instance.avatar.cache_stored_file!
instance.avatar.retrieve_from_cache!(instance.avatar.cache_name)
instance.avatar.recreate_versions!
instance.save!
rescue => e
Rails.logger.info("ERROR: UserAvatar: #{instance.id} -> #{e}")
end
end
因此,我在我的控制台中一次一行地尝试了它。如果我设置 process_avatar_upload = true,则下一行失败
undefined method `cached?' for nil:NilClass
如果我再次运行相同的命令我得到
undefined method `content_length' for nil:NilClass
最后,如果我 运行 第三次,它似乎可以工作。但是,当我到达 recreate_versions!我明白了:
No such file or directory [my file path]/uploads/tmp/1454615129-9112-7053/square_hat.jpg
没错,没有正方形,因为这就是我要创建的。
如何在 s3 上重新创建我的版本?我有很多事情要做。谢谢。
这个'should'就够了:
instance.process_avatar_upload = true
instance.avatar.recreate_versions!
如果您使用的是官方 gem,它已经很老了 (0.10.0),您应该给大师一个机会。如果您没有像 :from_version => :foo
这样的特殊版本设置或像
这样的嵌套版本
version :foo do
version :foobar do
[...]
end
end
它应该像以前一样工作。 (但在非生产环境中试试(!))
我正在尝试按照 https://github.com/carrierwaveuploader/carrierwave/wiki/How-to%3A-Recreate-and-reprocess-your-files-stored-on-fog 说明进行操作,但我遇到了错误。我的文件名为 hat.jpg
我正在使用 carrierwave_backgrounder,所以我需要这些说明来立即处理。
with_avatar.each do |instance|
begin
instance.process_avatar_upload = true
instance.avatar.cache_stored_file!
instance.avatar.retrieve_from_cache!(instance.avatar.cache_name)
instance.avatar.recreate_versions!
instance.save!
rescue => e
Rails.logger.info("ERROR: UserAvatar: #{instance.id} -> #{e}")
end
end
因此,我在我的控制台中一次一行地尝试了它。如果我设置 process_avatar_upload = true,则下一行失败
undefined method `cached?' for nil:NilClass
如果我再次运行相同的命令我得到
undefined method `content_length' for nil:NilClass
最后,如果我 运行 第三次,它似乎可以工作。但是,当我到达 recreate_versions!我明白了:
No such file or directory [my file path]/uploads/tmp/1454615129-9112-7053/square_hat.jpg
没错,没有正方形,因为这就是我要创建的。
如何在 s3 上重新创建我的版本?我有很多事情要做。谢谢。
这个'should'就够了:
instance.process_avatar_upload = true
instance.avatar.recreate_versions!
如果您使用的是官方 gem,它已经很老了 (0.10.0),您应该给大师一个机会。如果您没有像 :from_version => :foo
这样的特殊版本设置或像
version :foo do
version :foobar do
[...]
end
end
它应该像以前一样工作。 (但在非生产环境中试试(!))