14

Rails 3.2(3.0.10から)にアップグレードした後、ペーパークリップ(3.0.2)に問題があります。

元々、1 つのイメージのパスは次のとおりでした。

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

アップグレード後、この種の画像は二度と表示されません!ただし、新しい画像をアップロードすると、ページに問題なく表示されますが、使用する新しいパスは次のとおりです。

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

アップグレードで何が起こったのですか? olds パスを new に変換する解決策はありますか?

「rake paperclip:refresh:missing_styles」で試してみましたが、うまくいきません。

ペーパークリップ構成セクションはこれです。

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"

前もって感謝します。

4

3 に答える 3

15

私も同じ問題を抱えていました。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"
)
于 2012-06-06T19:54:17.233 に答える
3

同様のアップグレードを行い、次のように問題を回避しました。

  has_attached_file :image,
    :url => "/images/photos/:id/:basename_:style.:extension",
    :path => ":rails_root/public/images/photos/:id/:basename_:style.:extension",
于 2012-04-26T16:08:52.617 に答える
1

元のパスと現在のパスの「小さい」と「小さい」の違いがタイプミスであると仮定すると、他の明らかな変更は、「/photos/」の後に 2 つの数値セグメントが追加されていることです。

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

これは、パスに使用されている id_partition から来ていると思われます。他の場所で別のデフォルト パス補間を設定していませんか?

Paperclip のコードを見ると、これを担当するid_partition メソッドが表示されますが、デフォルトの動作の変更の方向性を示すドキュメントはまだ見つかりません。バグなのか文書化されていない変更なのかを判断するために、gem のコードをたどることができませんでした。

于 2012-04-26T15:59:16.617 に答える