Если вложение настроено так:
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.