私は(ペーパークリップのinstructionsを使用して)アマゾンS3上のオブジェクトにアクセスするためにペーパークリップでexpiring_urlを使用しようとしているが、エラーを取得しています:ペーパークリップとAWS S3、expiring_url、nilのための未定義のメソッド `資格情報:NilClass
undefined method `credentials' for nil:NilClass
aws-sdk-core (2.5.3) lib/aws-sdk-core/signers/v4.rb:44:in `initialize'
aws-sdk-core (2.5.3) lib/aws-sdk-core/s3/presigner.rb:98:in `new'
私は@ object.attachment.urlを使用していますが、@ object.attachment.expiring_urlはエラーを出します。なぜこうなった?
development.rb:
config.paperclip_defaults = {
storage: :s3,
url: ":s3_alias_url",
path: "/:class/:attachment/:id_partition/:style/:filename",
s3_host_alias: "example.cloudfront.net/assets",
s3_credentials: {
bucket: ENV['S3_BUCKET_NAME'],
access_key_id: ENV['AWS_ACCESS_KEY_ID'],
secret_access_key: ENV['AWS_SECRET_ACCESS_KEY'],
s3_region: ENV['AWS_REGION']
},
s3_permissions: :private
}
モデル:
has_attached_file :attachment
コントローラ:
def download
redirect_to @object.attachment.expiring_url(10)
end
ビュー:
<%= link_to "attachment", download_object_path(@object) %>
アイデア?