当只有一个/一个图像时,.first会出错

时间:2018-04-30 08:27:50

标签: ruby-on-rails ruby

我有一个多图片上传器,我在页面上显示图片,如下所示:

<%= image_tag product.images.first %>

只要产品有多个图像,这样就可以正常工作,但它会产生错误&#34; nil不是有效的资产来源&#34;什么时候只有1张图片。我知道我可以检查这样的多个图像:

<%= image_tag product.images.first if @product.images.present? %>

但如果有1张图片,我确实希望在页面上显示一张图片。有没有办法做这样的事情:

<%= image_tag product.images.first if @product.images.present? else image_tag product.image if @product.image.present? %>

1 个答案:

答案 0 :(得分:4)

我想ternary operator会对此有所帮助:

<%= image_tag product.images.any? ? product.images.first : product.image %>

甚至更简单,使用逻辑OR运算符,正如@mudasobwa注意到的那样:

<%= image_tag product.images.first || product.image %>