0

我有一個照片模型,這將是一個多態模型。如果我提交我的父模型並保存它。如果它沒有任何照片,當我顯示照片的default_url時,它不會顯示任何照片,因爲沒有照片。當照片附加到模型上時,意味着只有一個,當字段爲空時,它將返回一個default_url,但當沒有結果時,它不會返回default_url。我不想輸入空記錄只是爲了解決default_url問題。Carrierwave - 與default_url問題多態

我發現,如果我做了以下這將返回DEFAULT_URL,但不知道這是最好的

ImageUploader.new.default_url(:small) if @photos.blank? 

這工作,但它是sloppy..i認爲。任何人有更好的主意?也許在照片模型上的查找方法或更好的東西,將返回一個對象,將有有效的網址,無論有沒有。

class Photo < ActiveRecord::Base 
    # Concerns 
    include Guidable 

    default_scope :order => 'photos.order DESC' 

    belongs_to :attachable, :polymorphic => true  
    mount_uploader :image, ImageUploader 

    def attachable? 
    !!self.attachable 
    end 

end 

回答

0

我要回答我的問題,但仍然不相信這是

module PhotosHelper 

    def photo_url(photo, size) 
    defined?(photo.image) ? photo.image.url(size) : ImageUploader.new.send(size).default_url 
    end 

end 

寧願模型只是返回的東西,如果沒有圖像的最佳選擇。