我正在使用Paperclip 4.1.1来处理上传到我网站的图片。
我有一个典型的Post模型has_attached_file :picture
图片上传正常,验证正确。
问题是Paperclip假设没有图片的所有帖子都缺少它们。
因此它会为它们显示missing.png
文件。
这是我的Post.rb
class Post < ActiveRecord::Base
validates :title, presence: true, length: {minimum: 5}
has_and_belongs_to_many :categories
accepts_nested_attributes_for :categories
has_attached_file :picture,
:styles => {:medium => "350x", :thumb=> "100x" },
:default_url => "/images/:style/missing.png"
validates_attachment_content_type :picture,
:content_type => /\Aimage/,
:size => {:in => 0..2048.kilobytes}
end
有没有办法建立支票,以便不为那些没有相关图片的帖子显示图片?
旁注:我写了一个帮助方法,只有在文件名不是missing.png
时才显示图片我知道这不是解决问题的正确方法。
感谢您的建议。
感谢。
答案 0 :(得分:3)
Paperclip
的通常行为是,如果在没有图片的情况下上传帖子,则default_url
中指定的图像将显示在其位置。
如果你想避免这种行为,那么解决方法就是不显示图片如果它不存在。
例如:您可以在视图中执行以下操作:
<%= image_tag @post.picture.url(:thumb) if @post.picture.present? %>
这样,如果@post
指定的帖子记录仅分配了picture
字段,那么picture
字段将显示在视图中,否则不会显示。