Скрепка:: хэш, так как имя файла не обновляется при обновлении миниатюр - PullRequest
2 голосов
/ 30 марта 2012

Я использую Rails 3.2.1 и использую следующую настройку для скрепки

:path => ":rails_root/public/system/:attachment/:id_partition/:style/:hash.:extension",
:url => "/system/:attachment/:id_partition/:style/:hash.:extension",
:hash_secret => "somesecret"

Я начал с :styles => { :thumb => '200x200>' }, а затем добавил новый стиль :styles => { :thumb => '200x200>', :mini => '100x100#' }. Когда я запускаю грабли:

rake paperclip:refresh:missing_styles RAILS_ENV=production

Новые стили не отображаются правильно на веб-странице. Я проверил файл журнала, в котором говорится, что эскизы успешно созданы и сохранены. Но используемый им URL-адрес не совпадает с URL-адресом веб-страницы. Только часть хеша отличается. Похоже, что каждый раз, когда я обновляю ярлыки, скрепка генерирует новый хеш, но attachment.url(:style) всегда возвращает тот же хеш.

Я тоже пытался rake paperclip:refresh:thumbnails CLASS=ClassName, но это тот же эффект. В каталоге были созданы новые файлы, но URL-адрес, используемый веб-страницей, не изменился, что означает, что браузер все еще не может найти нужные файлы.

ОБНОВЛЕНИЕ: проблема решена в скрепке 3.0. Смотрите эту проблему на Github: https://github.com/thoughtbot/paperclip/issues/802

...