【问题标题】:How do I create a default avatar if the avatar file does not exist?如果头像文件不存在,如何创建默认头像?
【发布时间】:2013-06-20 21:03:46
【问题描述】:

我使用回形针让用户上传他们的头像。一切正常。

如果用户没有上传头像,我想显示默认图片。在我看来,我使用了这段代码:

<%= 
    if File.exist?(user.avatar.url)
         image_tag user.avatar.url(:large)
    else
         image_tag "default-avatar.png"
    end
%>  

但它不显示默认图像。

我将default-avatar.png 放入app/assets/images/。 我做错了什么?

编辑

我按照cmets中提到的oldergod的说明进行了操作,但是上传的头像仍然没有出现。

【问题讨论】:

  • image_tag "default-avatar.png"

标签: ruby-on-rails ruby if-statement file-exists


【解决方案1】:

我终于把它投入使用了,像这样使用user.avatar?

<%= 
   if user.avatar?
      image_tag user.avatar.url(:large)
   else
      image_tag "default-avatar.png"
   end
%>  

我认为问题在于 File.exist? 需要一个路径,而不是一个 url 什么的。

【讨论】:

  • File.exist? 是 Ruby 操作系统级别的方法,而不是 Rails 命令。它不知道 URL,只知道文件路径。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2014-03-12
  • 2017-08-16
  • 2012-06-01
  • 1970-01-01
  • 2015-05-13
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多