2013-02-05 59 views

回答

1

如果您使用paperclip,有指定的圖像default_url一個選項:

DEFAULT_URL:如果沒有分配的安裝將被返回的URL。這個字段被插入,就像url一樣。默認值是「/:attachment/:style/missing.png」

has_attached_file :avatar, :default_url => "/images/default_:style_avatar.png" 
User.new.avatar_url(:small) # => "/images/default_small_avatar.png" 
+0

我嘗試過使用這種策略,但使用Carrierwave並且它不工作。如果使用空文件名稱調用上傳器的任何屬性,它是否應該神奇恢復爲默認值? – humdinger

+0

這個答案是特定於回形針,因爲你沒有在你的問題中標記或提到Carrierwave。 –

0

你可以只檢查是否記錄有圖像的列表。不知道你的關聯,我只能假設你有一個叫做Image的模型,它屬於SomeOtherModel。 在視圖中,您可以檢查這些圖像的存在並在沒有圖像的情況下渲染不同的圖像。

if some_other_model.images.any? 
    # render images here 
else 
    = image_tag 'placeholder.png' 

一個很好的解決方案可以是使用作爲placeholder.png包含圖像的div的背景圖像(設定爲不重複)。只要確保div具有設定的高度,並且第一個圖像總是與背景圖像重疊。

相關問題