我有一个 Site 模型,它允许通过 Paperclip 将 background_image 上传到 S3。奇怪的是,每个站点在其模型中都有自己的 S3 凭据存储。我的问题是,通过 Paperclip 上传时如何引用网站自身的属性?
class Site < ActiveRecord::Base
attr_accessible :background_image,
:s3_access_key_id,
:s3_secret_access_key,
:s3_username
has_attached_file :background_image,
storage: :s3,
s3_credentials: {
access_key_id: @s3_access_key_id.to_s,
secret_access_key: @s3_secret_access_key.to_s
},
bucket: "my-app",
s3_permissions: "public-read",
path: "/home/#{@s3_username}/background_images/:id/:filename"
end
不幸的是,通过这个设置,我得到了The AWS Access Key Id you provided does not exist in our records
. 我认为它只是获取空白值,因为当我对数据库中的值进行硬编码时它工作正常。