如果我没有正确处理视图,生产环境显示500。
<%= image_tag post.user.image_url %>
这可能是
<%= image_tag post.user.image_url if post.user && post.user.image_url %>
我该怎样防止这种情况?如何在生产环境中使用<%= image_tag nil %>
而不提高500?
答案 0 :(得分:8)
image_tag
必须有一个源代码,Rails无法对其执行任何操作,但会引发异常。
你可以写一个这样的帮手:
module ApplicationHelper
def safe_image_tag(source, options = {})
source ||= "default.jpg"
image_tag(source, options)
end
end
或直接在视图中检查nil
。无论如何,你必须做某事以防止错误。