2010-10-13 2 views
4

J'utilise paperclip, et ont plusieurs styles:Trombone - Style par défaut par style? Possible

:styles => {:large => "300x300>", :medium => "150x150>", :small => "50x50>", :thumb => "30x30>" } 

La question est default_stype, applique uniquement à l'une des tailles ... : default_style =>: le pouce, : DEFAULT_URL => url ici ....

Comment puis-je définir default_stypes pour chaque type de style? donc si j'appelle: <% = image_tag @ user.profile_pic.url (: large)%>

Le style LARGE a un default_url?

Merci

Répondre

3

Je suggère d'utiliser

has_attached_file :xyz, :url => "/assets/:id", :path => ":rails_root/assets/photos/:attachable_type/:attachable_id/:id/:basename_:style.:extension", 
        :styles => { :large => "300x300>", :medium => "150x150>", :small => "50x50>", :thumb => "30x30>"} 

et pour obtenir le style propre

/assets /: id style =: le style

comme localhost: 3000/assets/10? style = medium

Remarque: attacheable_type, attachable_id arrivent m les relations polymorphes ..

Hope it helps ...

MFG,

Kannan R

+1

Veuillez formater votre code lorsque vous postez des réponses (utilisez 4 espaces pour indenter) –

+0

Merci pour les conseils Ryan ... c'est fait :) – KannanR

+0

Merci mais je ne comprends pas comment cela me permet de définir des IMAGES par défaut par style? Il devrait y avoir un default_profile_pic_large.png, un default_profile_pic_medium.png, un default_profile_pic_small.png, un default_profile_pic_thumb.png. Je ne suis pas sûr que je suis ce que résout ce qui précède? Je n'ai pas de difficulté à obtenir un style particulier, juste d'être assez intelligent pour aller à un défaut par style. Pensées? – AnApprentice

4

Il est assez facile. Il suffit de créer paperclip.rb dans votre répertoire/config/initializers et de mettre quelque chose comme ça là-dedans:

module Paperclip 
    class Attachment 
    def self.default_options 
     @default_options ||= { 
     :url    => "/system/:class/:id/:style_:filename", 
     :path    => ":rails_root/public:url", 
     :styles   => {}, 
     :processors  => [:thumbnail], 
     :convert_options => {}, 
     :default_url  => "/images/missing/:class_:attachment_:style.jpg", 
     :default_style  => :original, 
     :storage   => :filesystem, 
     :whiny    => Paperclip.options[:whiny] || Paperclip.options[:whiny_thumbnails] 
     } 
    end 
    end 
end 

Cette option remplace les paramètres par défaut. Donc, vous pouvez aller de l'avant et changer: default_style à tout ce que vous voulez.

Questions connexes