我正在尝试使用javascript显示产品详细信息。我正在使用haml和RoR-4.2.1。我有以下代码
var a = new Array();
#{@productlist.map do |prdct|
<<-EOS
var t = new Object();
t.product_id = '#{prdct.product_id}';
t.name = '#{prdct.name}';
t.address = '#{prdct.address}';
a.push(t)
EOS
end.join("\n")}
我有一个模型图像,其中包含产品的图像。产品可能有也可能没有图像。因此,为了显示图像,我添加了以下内容
t.shop_image =
"#{if prdct.images.present?
prdct.images.first.image_url
else
''
}"
push语句之前的语句。但它产生了一个问题。如果检查heredocs,我该如何添加。
答案 0 :(得分:0)
方法1 :使用“普通”字符串做同样的事情。
"#{product.images.present? ? product.images.first.image_url : ''}"
方法1 + :将上面的表达式提取到变量中,以便模板包含更少的逻辑。
方法2 :不要滥用heredocs和use ERB。