当图像不存在时,如何在回形针中显示隐藏图像
如果没有图像与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 %>