Rails 4 + Paperclip:制作默认的个人资料照片

时间:2014-12-09 15:19:46

标签: ruby-on-rails image paperclip

我们的个人资料视图页面显示了代码。我们已经用类似的问题展示了几次调整它,但还没有得到图片存在的结果。目前,我们会在默认图片应显示的区域显示“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”中找到了我们丢失的图片

1 个答案:

答案 0 :(得分:1)

结帐Paperclip::Attachment#file?(其中Paperclip::Attachment#present?是别名),以及Paperclip::UrlGenerator#most_appropriate_url

在用户提交自己的文件之前,头像不存在,但是当头像不存在时,#url方法将返回默认URL。如果您删除了@user.avatar.present?支票和“缺少图片”标题,那么您的观看代码就是:

<%= image_tag @user.avatar.url(:thumb) %>

当用户未上传头像时,将呈现默认图片。