Подтвердить что ты не робот

Скрепка сменяет путь изображения после обновления до рельсов 3.2

У меня проблема с paperclip (3.0.2) после обновления до рельсов 3.2 (из 3.0.10).

Первоначально путь одного изображения:

"http://localhost:3000/system/photos/94/small/AudiLogo.jpg?1335392139"

и после обновления этот вид изображений никогда не будет отображаться снова!, но если я загружу новое изображение, это будет отображаться отлично на странице, но новый путь, который используется:

"localhost:3000/system/products/photos/000/000/094/smal/AudiLogo.jpg?1335392139"

Что произошло в обновлении? Есть ли какое-либо решение для преобразования пути olds к новому?

Я пытаюсь использовать "rake paperclip: refresh: missing_styles", но dosen't работает.

Конфигурация paperclip config this this.

has_attached_file :photo,
        :processors => lambda { |a|
                        if a.external?
                                [:thumbnail]
                        else
                                [:thumbnail,:watermark]
                        end
                        },
        :styles => {
                :slider => { :geometry => "350x312#", :format => :jpg, :watermark_path => "#{Rails.root}/public/images/watermark.png", :position => "NorthEast" },
                :small => "100x50>",
                :medium => "200>x200",
                :thumb => "100x100>",
                :big => { :geometry => "640x480>", :format => :jpg, :watermark_path => "#{Rails.root}/public/images/watermark.png" }
                },
        :default_url => "/images/noimage.png"

Спасибо заранее.

4b9b3361

Ответ 1

У меня была та же проблема. Вы можете исправить это, создав файл типа config/initializers/paperclip.rb и поместите

Paperclip::Attachment.default_options.merge!(
    :path => ":rails_root/public/system/:attachment/:id/:style/:basename.:extension", 
    :url => "/system/:attachment/:id/:style/:basename.:extension"
)

Ответ 2

У меня просто было аналогичное обновление и маршрутизация вокруг моей проблемы следующим образом:

  has_attached_file :image,
    :url => "/images/photos/:id/:basename_:style.:extension",
    :path => ":rails_root/public/images/photos/:id/:basename_:style.:extension",

Ответ 3

Предполагая, что разница между "малым" и "малым" между исходным и текущим путем является опечаткой, другое очевидное изменение - это добавление двух числовых сегментов после "/photos/".

".../photos/000/000/094/smal/AudiLogo.jpg?1335392139"

Я подозреваю, что это происходит из id_partition, используемого для пути. Вы устанавливаете другую интерполяцию пути по умолчанию в другом месте?

Глядя на код скрепки, я вижу метод id_partition, который будет отвечать за это, но до сих пор не нашел никакой документации, указывающей в направлении изменение поведения по умолчанию. Я не стал следить за кодом в камне, чтобы определить, является ли это ошибкой или недокументированным изменением.