我有一个将成为多态模型的照片模型。如果我提交我的父模型并保存它。如果它没有任何照片,当我显示照片的default_url时,它将不会显示任何内容,因为没有照片。当照片附加到模型时,意味着只有一个,当字段为空时,它将返回default_url,但是当没有结果时,它不会返回default_url。我不想仅仅为修复default_url问题而输入空记录。
我发现如果我执行以下操作,它将返回default_url但不确定这是最好的
ImageUploader.new.default_url(:small) if @photos.blank?
这可行,但它很草率......我想。谁有更好的主意?也许是照片模型上的find方法或者更好的东西,它会返回一个对象,该对象具有Valid URL,无论是否存在某些内容。
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 :(得分:0)
我将回答我自己的问题,但仍然不相信这是最好的选择
module PhotosHelper
def photo_url(photo, size)
defined?(photo.image) ? photo.image.url(size) : ImageUploader.new.send(size).default_url
end
end
如果没有图像,宁愿让模型返回一些东西。