我的回形针有问题。我将它设置为将我的附件存储在 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/

10-11 07:34