5

当个人资料为零时,我一直很伤心……我该怎么办?

4

3 回答 3

7

nil在视图中使用变量之前,请始终检查变量是否存在。

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

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

于 2010-04-25T19:41:17.643 回答
6

这也应该有效

<%= image_tag(this.profile.expiring_url(180)) rescue "no image!" %>
于 2010-04-26T05:01:45.463 回答
2

首先,您需要决定在没有配置文件时要做什么。是否要显示默认图像?完全没有图?

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

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

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

<%=image_tag expiration_url_for( this.profile )%>
于 2010-04-25T20:42:25.397 回答