2009-11-23 15 views
8

Uygulamamda default_url kullanmaya çalışıyorum ama görüntüleri S3 kullanarak saklıyorum. Oraya hangi URL'yi koymam gerektiğinden emin değilim ya da sadece her şeyi almak için sahte bir görüntü oluşturmam gerekiyorsa.raylar ataç varsayılan görüntü S3 ile

Resimlerim her zaman S3'ten geçtiği için, genel klasörümde varsayılan görüntüler koyduysam işe yarayıp yaramadığını bilmiyorum. Şu an çalışıyor gibi görünmüyor - bende sadece bir resmim var ve yeniden boyutlandırmak zorunda olduğunu biliyorum. Yeniden boyutlandırılan görüntüleri oraya el ile koyabilirim ancak yine de hangi URL'nin varsayılan olarak kullanıldığından emin değilim. Lütfen yardım edin :)

cevap

22

Genel klasörde varsayılan görüntüler olan S3 ile ataç kullanırım. İyi çalışıyor. Benim DEFAULT_URL deyimi şuna benzer: Benim eki avatar, kurulum stilleri küçük ve büyük ile adlandırılmış, ben oluşturmak ve kamu dir bu görüntüleri koymak gerektiği anlamına gelir

:default_url => '/images/:attachment/missing_:style.png' 

:

/images/avatar/missing_large.png

  • missing_small.png images/avatar /.

    has_attached_file :avatar, 
        :styles => { :small => '60x60#', :large => '300x300#' }, :default_style => :large, 
        :storage => :s3, 
        :default_url => '/images/:attachment/missing_:style.png', 
        :path => "users/:id/avatar/:style.:extension", 
        :bucket => "bucket name", 
        :s3_credentials => { 
        :access_key_id => "access key id", 
        :secret_access_key => "secret access key" 
        }, 
        :url => ":s3_alias_url", # These two are only required when you alias S3 - e.g. want to use cdn.example.com rather than s3.amazonaws.com 
        :s3_host_alias => "my.aws.alias" 
    
  • +0

    benim için işe yaramadı Başvuru için

    veya Sorun gerçekten başka bir yerde olduğu durumda, burada benim tam ataç ifadedir. Tüm eklerim S3'ten, ancak varsayılar boru hattından bazı nedenlerle default_url. – bershika

    +0

    avatar olarak adlandırılmalı mıdır ???? – Jwan622

    +0

    Tam yollara ihtiyacım yoktu. Görünüşe göre default_url sadece görüntüler klasöründe görünüyor. – Jwan622

    4

    bu denemek: :default_url => ActionController::Base.helpers.asset_path('missing.png')

    +0

    Bu doğru çözümdür çünkü varsayılan resminizi değiştirmeniz gerekirse, tarayıcının önbelleğini otomatik olarak büstü ve yeni, güncellenmiş resmi indirir. – Chloe

    İlgili konular