скрепка не создает миниатюры на герою - PullRequest
1 голос
/ 16 ноября 2010

Я пытался получить скрепку для загрузки изображений на amazon s3, но все, что я получаю, это исходный загружаемый файл. Миниатюры не создаются. Моя модель имеет это:

  has_attached_file :screenshot, :styles => {
    :thumb => "100x80>",
    :medium => "195x150>",
    :large => "390x300>"
  },
  :storage => :s3,
  :s3_credentials => "#{RAILS_ROOT}/config/s3.yml",
  :path => ":attachment/:id/:style.:extension"

Исходный файл фактически загружен, но ни одна из миниатюр не отображается. Например, если я скопирую src изображения большого пальца, я получу

<Error>
<Code>NoSuchKey</Code>
<Message>The specified key does not exist.</Message>
<Key>screenshots/8/thumb.png</Key>
<RequestId>B8A408560070E836</RequestId>
−
<HostId>
HAHUCuNxGKVDvqE3GnhGT1RcBgFGUxa35kqXmyRE+ii60DJS6r22ChDr22cOeCea
</HostId>
</Error>

Это работает на героку, что заставляет меня пользоваться сервисом типа амазонки. Не проблема, но вся документация, которую я могу найти, делает это простым. Я не могу найти никаких зависимостей (упаковщик доволен), и я использую AWS уже 2 года, без этих проблем, на другом сайте, с другой корзиной для той же учетной записи. Это проблема подключения ведра к аккаунту? Я использую те же учетные данные, что и на другом сайте. Меняется только ведро.

Еще пара вещей. Каталоги, которые создаются по пути к загружаемому образу, имеют разрешения 000 или эквивалентный aws-эквивалент. Никому не разрешено ничего делать.

с использованием Rails 3.

Ответы [ 2 ]

2 голосов
/ 24 ноября 2010

У меня была та же проблема, и ответ лежит в:

: path => ": attachment /: id /: style.: Extension"

Вместохранить изображения в одной папке с разными именами, использовать одно и то же имя для изображения и использовать стиль для папок.Вышеприведенное приведёт к следующему:

: path => ": attachment /: id /: style /: filename"

Поэтому вместо попытки сгенерировать что-то вроде

avatars/13/thumb.png
avatars/13/medium.png
avatars/13/large.png

Вы получаете это:

avatars/13/thumb/my_pic.png
avatars/13/medium/my_pic.png
avatars/13/large/my_pic.png
0 голосов
/ 16 ноября 2010

Я установил скрепку как плагин, и все работает.

Не забудьте удалить драгоценный камень из вашего Gemfile.

...