我的回形针有问题。我将它设置为将我的附件存储在 s3 中,并且我有很多原始大小的附件。问题是我需要重新处理它们以使每个图像具有 3 个不同的尺寸。我在回形针自述文件中读到#reprocess!方法可能有用。
这是我的带有附件的用户类:
has_attached_file :avatar, styles:
{
large: ["135x135#", :jpg],
thumb: ["50x50#", :jpg],
small: ["30x30#", :jpg]
},
default_url: '/placeholders/avatars/:style.png',
url: '/system/users/:attachment/:id_partition/:style/:filename',
storage: :s3,
bucket: ENV['S3_BUCKET'],
s3_credentials: {
:access_key_id => ENV['S3_ACCESS_KEY'],
:secret_access_key => ENV['S3_SECRET_KEY']
}
validates_attachment :avatar,
content_type: {
content_type: /^image\/(jpg|jpeg|pjpeg|png|x-png|gif)$/,
message: 'is not allowed (only images)'
},
size: {
in: 0..1.megabytes,
message: 'is too big'
}
我还在我的 development.rb 和 production.rb 中将凭据设置为 s3。当我运行重新处理!在每个 user.avatar 对象上它返回 true 但文件夹结构不会改变。
pry(#<Importer::Mugshots>)> user.avatar.reprocess!
(0.6ms) BEGIN
(5.3ms) UPDATE "users" SET "avatar_content_type" = '', "avatar_file_size" = 30735, "avatar_updated_at" = '2013-11-19 11:10:17.486960', "avatar_file_name" = '78398594.jpg', "updated_at" = '2013-11-19 11:10:19.001503' WHERE "users"."id" = 542025
(11.6ms) COMMIT
=> true
我试图更改回形针配置以使用本地文件系统,但没有帮助。它可能是什么?
最佳答案
尝试将存储桶移动到 s3_credentials 哈希中
s3_credentials: {
:bucket => ENV['S3_BUCKET']
:access_key_id => ENV['S3_ACCESS_KEY'],
:secret_access_key => ENV['S3_SECRET_KEY']
}
关于ruby-on-rails - 回形针重新处理返回 true 但不更改文件夹结构,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/20070099/