我们的个人资料视图页面显示了代码。我们已经用类似的问题展示了几次调整它,但还没有得到图片存在的结果。目前,我们会在默认图片应显示的区域显示“Missing Pic”。
<% if @user.avatar.present? %>
<%= image_tag @user.avatar.url(:thumb) %>
<% else %>
<h4>Missing Pic</h4>
<% end %>
我们的用户模型是
class User < ActiveRecord::Base
has_attached_file :avatar, :styles => {
:medium => "200x200>",
:small => "150x150#",
:thumb => "100x100",
:default_url => "/assets/images/missing.png"
}
validates_attachment_content_type :avatar, :content_type => /\Aimage\/.*\Z/
end
在我们的show users视图中,我们有
<%= image_tag @user.avatar.url(:thumb) %>
<%= image_tag @user.avatar.url(:medium) %>
<%= image_tag @user.avatar.url(:small) %>
开发工具中显示的路径是:
现在我们在“/app/assets/images/missing.png”中找到了我们丢失的图片
答案 0 :(得分:1)
结帐Paperclip::Attachment#file?
(其中Paperclip::Attachment#present?
是别名),以及Paperclip::UrlGenerator#most_appropriate_url
在用户提交自己的文件之前,头像不存在,但是当头像不存在时,#url
方法将返回默认URL。如果您删除了@user.avatar.present?
支票和“缺少图片”标题,那么您的观看代码就是:
<%= image_tag @user.avatar.url(:thumb) %>
当用户未上传头像时,将呈现默认图片。