2010-10-13 33 views
4

我使用回形針,並有幾種風格:回形針 - 每種款式的默認款式?可能

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

的問題是default_stype,只適用於尺寸之一... :default_style =>:拇指, :DEFAULT_URL =>網址這裏......

如何爲每個樣式類型設置default_stypes?所以如果我打電話: <%= image_tag @ user.profile_pic.url(:large)%>

LARGE樣式有一個default_url?

感謝

回答

3

我會建議使用

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>"} 

,並得到適當的風格

/資產/?ID樣式=:風格

像本地主機:3000/assets/10?style = medium

注意:attacheable_type,attachable_id即將來臨米多態的關係..

希望它可以幫助...

RGDS,

坎南[R

+1

請在發佈答案時使用格式化代碼(使用4個空格縮進) – 2010-10-13 04:43:02

+0

感謝提示Ryan ...完成:) – KannanR 2010-10-13 04:49:51

+0

感謝但我沒有得到如何允許我爲每種樣式設置默認圖像?應該有一個default_profile_pic_large.png,default_profile_pic_medium.png,default_profile_pic_small.png,default_profile_pic_thumb.png。我不確定我是否遵循上述解決方案?我沒有挑戰一個特定的風格,只要它足夠聰明就可以使用每種風格的默認設置。思考? – AnApprentice 2010-10-13 16:01:59

4

這是相當容易的。只要創建你的/配置/初始化paperclip.rb,並把這樣的事情在那裏:

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 

這將覆蓋默認值。所以你可以繼續改變:default_style到任何你想要的。