Rails处理.Erb与Nils

时间:2010-04-25 19:34:43

标签: ruby-on-rails ruby erb

当个人资料为零时,

一直让我悲痛......我该怎么办?

3 个答案:

答案 0 :(得分:7)

在视图中使用变量之前,请务必检查变量是否为nil

<% image_tag this.profile.expiring_url(180) unless this.profile.nil? %>

我确信这个问题有一个更优雅的解决方案,但这应该让你开始。

答案 1 :(得分:6)

这也应该有用

<%= image_tag(this.profile.expiring_url(180)) rescue "no image!" %>

答案 2 :(得分:2)

首先,您需要在没有个人资料时决定您想要做什么。要显示默认图像吗?根本没有图像?

假设您要显示默认图像,可以向助手添加方法:

def expiration_url_for( profile )
  (profile && profile.expiring_url(180)) || default_url
end

然后在视图中调用该辅助方法:

<%=image_tag expiration_url_for( this.profile )%>