Rails / Paperclip: Как отобразить изображения из S3 с разрешениями authenticated_read? - PullRequest
3 голосов
/ 15 февраля 2012

Использование Rails 3.2.1 и Paperclip 2.6

У меня установлен Paperclip для использования s3 в качестве хранилища.Я хотел бы использовать :s3_permissions => :authenticated_read.

До обновления Paperclip для использования aws-sdk я использовал камень paperclip-aws, который обеспечивает помощника для аутентифицированного доступа.

Предоставляет ли Paperclip аналогичного помощника?Как получить доступ к изображениям через image_tag, если для них установлено значение authenticated_read в отсутствие драгоценного камня paperclip-aws?

1 Ответ

4 голосов
/ 16 февраля 2012

Если вложение настроено так:

has_attached_file :attachment,
  :storage => :s3,
  :bucket => 'MY-BUCKET',
  :s3_permissions => :authenticated_read,
  :s3_credentials => Rails.root.join("config/aws.yml")

Вы можете просто вызвать метод #expiring_url для своего вложения:

record.attachment.expiring_url #=> "https..."

Вот подпись для #expiring_url:

def expiring_url(time = 3600, style_name = default_style)

Это позволяет вам переопределить время истечения и указать, для какого "стиля" или версии вы хотите использовать URL.

...