0

我有一个将成为多态模型的照片模型。如果我提交我的父模型并保存它。如果它没有任何照片,当我显示照片的 default_url 时,它不会显示任何内容,因为没有照片。当照片附加到模型时,意味着只有一个,当字段为空时它将返回一个 default_url,但当没有结果时,它不返回一个 default_url。我不想输入空记录只是为了解决 default_url 问题。

我发现如果我执行以下操作,它将返回 default_url 但不确定这是最好的

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

这行得通,但它很草率..我认为。有人有更好的主意吗?也许是照片模型上的 find 方法或更好的方法,它将返回一个对象,该对象将具有有效的 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
4

1 回答 1

0

我要回答我自己的问题,但仍然不相信这是最好的选择

module PhotosHelper

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

end

如果没有图像,希望模型只返回一些东西。

于 2012-04-26T15:05:00.333 回答