当图像不存在时,如何在回形针中显示隐藏图像

如果没有图像与logging关联,如何防止调用关联图像的图像标签显示?

<%= image_tag @agent.avatar.url %> 

…如果没有与该代理相关的图像,则给我文本“丢失”。 我想testing看看有一个可用的图像,然后呈现上面的标记,如果testing返回true。

更好的是,如果没有特别提供的图像,是否有指定默认图像?

我使用以下来find一个模型有一个关联的附件:

 <% if @agent.avatar.file? %> <%= image_tag @agent.avatar.url(:normal) %> <% else %> No attachment available! <% end %> 

如果头像有多种尺寸:

 has_attached_file :avatar, :styles => {:small => '30x30#', :large => '100x100#'}, :default_url => 'http://img.dovov.commissing_:style.png' 

for Rails 3:

 has_attached_file :avatar, :styles => {:small => '30x30#', :large => '100x100#'}, :default_url => '/assetshttp://img.dovov.commissing_:style.png' 

好吧,所以我得到了一部分。

在模型中指定默认图像

 has_attached_file :avatar, :default_url => 'http://img.dovov.combrokers/agents/anonymous_icon.jpg' 

less了几个字节:

 <% if @agent.avatar? %> <%= image_tag @agent.avatar.url(:normal) %> <% else %> No attachment available! <% end %> 

最好使用:default_url而不是条件。

如果在模型中指定了default_url,那么可以使用该方法? 检查url是默认的还是上传的。

 <% if @agent.avatar.present? %> <%= image_tag @agent.avatar.url(:normal) %> <% else %> No attachment available! <% end %> 

你可以使用这个

 user.photo.exists?(:medium). 

我以前也有同样的问题,但是用下面的方法解决了这个问题:

 <% if @post.image.exists? %> <%= image_tag @post.image.url %> <% end %>