Должно быть довольно простое решение этого вопроса, я думаю, но я не могу заставить его работать. У меня есть приложение Rails 4, модель пользователя с настройкой атрибута photograph
с помощью Paperclip, и я связал его с S3.
Здесь модель пользователя:
has_attached_file :photograph,
:styles => { :medium => "300x300>", :thumb => "100x100>" },
:storage => :s3,
:bucket => " my-bucket-name ",
:default_url => '/images/:attachment/missing_:style.png',
:s3_credentials => S3_CREDENTIALS
Изображение добавляется в мой ведро S3 просто отлично, но когда я пытаюсь сделать снимок с <%= image_tag @user.photograph.url %>
, он не появляется. При дальнейшей проверке URL изображения:
http://s3.amazonaws.com/my-bucket-name/users/photographs/000/000/001/original/20121103_132556.jpg?1388619625
Если я следую этому URL-адресу в браузере, я вижу XML файл следующим образом:
<Error>
<Code>PermanentRedirect</Code>
<Message>
The bucket you are attempting to access must be addressed using the specified endpoint. Please send all future requests to this endpoint.
</Message>
<RequestId> ... </RequestId>
<Bucket>my-bucket-name</Bucket>
<HostId>
...
</HostId>
<Endpoint>my-bucket-name.s3.amazonaws.com</Endpoint>
</Error>
Следовательно, когда я следую URL-адресу http://my-bucket-name.s3.amazonaws.com/actives/photographs/000/000/001/original/20121103_132556.jpg?1388619625
в браузере, я вижу, что изображение просто отлично.
Как изменить конечную точку в моей модели пользователя? Каков нормальный способ справиться с этим? Я должен добавить, что мое ведро S3 - регион Северной Калифорнии. Спасибо.