2014-03-07 43 views
0

我想顯示一個默認圖像,如果用戶沒有上傳圖像。這是我的picture_uploader.rb,我將default.png上傳到/ images/fallback。但我無法讓它工作。任何提示,我可以嘗試下一步?default_url無法使用CarrierWave(Rails4)

class PictureUploader < CarrierWave::Uploader::Base 

    include CarrierWave::MiniMagick 
    version :thumb do 
    process :resize_to_fill => [150, 150] 
    end 

    # Provide a default URL as a default if there hasn't been a file uploaded: 
    def default_url 
    "/images/fallback/" + [version_name, "default.png"].compact.join('_') 
    end 
end 
+0

檢查:http://stackoverflow.com/questions/16800511/carrierwave-default-image-doesnt-顯示 –

回答

2

根據你default_url,你的形象的名稱應該是thumb_default.png

[2] pry(main)> version_name = 'thumb' 
=> "thumb" 
[3] pry(main)> [version_name, "default.png"].compact.join('_') 
=> "thumb_default.png" 
+0

謝謝!我將名稱更改爲thumb_default.png,但它不起作用。我也嘗試過資產管道:ActionController :: Base.helpers.asset_path(「fallback /」+ [version_name,「default.png」]。compact.join('_')) 並將文件置於=>「/ assets/fallback/thumb_default.png「但那也沒用。我不明白Rails獲取version_name的位置? – userden

+1

查看您的服務器日誌或使用Web檢查器來識別它試圖找到的映像的名稱(和路徑)。 – cortex

相關問題