【发布时间】:2012-05-10 04:09:12
【问题描述】:
我正在使用 Paperclip 上传多个商品图片。我遵循了本教程的一些内容http://sleekd.com/general/adding-multiple-images-to-a-rails-model-with-paperclip/ 我的模型是:
项目.rb
has_many :item_images, :dependent => :destroy
accepts_nested_attributes_for :item_images, :reject_if => lambda { |l| l['item_image'].nil? }
ItemImage.rb
class ItemImage < ActiveRecord::Base
belongs_to :item
belongs_to :user
#for image. Paperclip following Bootstrap sizes.
has_attached_file :image,
:styles => { :large => ["330x230>",:png], :medium => ["210x150>",:png], :small => ["90x90>",:png], :thumb => ["32x32>", :png] },
:default_url => '/images/missing_image_:style.png',
:storage => :s3,
:bucket => 'iscomp',
:s3_credentials => "#{RAILS_ROOT}/config/amazon_s3.yml",
:path => "iscomp/:attachment/:style/:id.:extension"
validates_attachment_presence :image
validates_attachment_size :image, :less_than => 5.megabytes
end
我的问题是,由于图像存储在第二个模型上,当@item.item_image 上没有图像/记录时,我无法访问默认的空白图像。如果我直接在@item 上使用了回形针,回形针将为我返回默认图像。
如果我不想在每次调用缩略图时继续添加 if/unless 语句,那么最好的方法是什么?
【问题讨论】:
标签: ruby-on-rails paperclip nested-sets