我试图在我的视图中以更优雅的方式编写此代码。 你能救我吗?
<%= if category.photo.present?
category.photo
else
category.img_parse_url
end %>
category.photo
可能是nil或空字符串)
答案 0 :(得分:1)
你可以使用这里不需要的try方法@tadman指出,此外,正如你在评论photo
中写的那样,可以是一个空字符串(我错误地认为它不可能)所以如果category.photo
只是一个空字符串,那么这两个版本将返回一个空字符串:
<= category.try(:photo) || category.img_parse_url %>
没有try
:
<= category.photo || category.img_parse_url %>
或将其移至模型。
编辑:
如果照片可以是空字符串,那么可以使用三元运算符吗?
<%= category.photo.present? ? category.photo : category.img_parse_url %>
或使用presence方法:
<%= category.photo.presence || category.img_parse_url %>