我正在尝试检查元素的值(状态)并执行以及是否有elsif语句。如果状态被批准我想添加html,如果它被拒绝,我想添加不同的html。我试过了:
%td= campaign.status == "Approved" ? '<span class="glyphicon glyphicon-ok text-success"></span>'.html_safe || campaign.status == "Rejected" ? '<span class="glyphicon glyphicon-remove text-success"></span>'.html_safe
但它失败了。使用基本的if语句可以正常工作,如下所示:
%td= campaign.status == "Approved" ? '<span class="glyphicon glyphicon-ok text-success"></span>'.html_safe : campaign.status
任何帮助表示感谢。
答案 0 :(得分:1)
三元运算符语法
e1
? e2
:e3
您无法拥有: e3
部分
答案 1 :(得分:1)
rub ternary运算符的一般语法:
test-expression ? if-true-expression : if-false-expression
在您的示例中,请尝试以下操作:
%td= campaign.status == "Approved" ? '<span class="glyphicon glyphicon-ok text-success"></span>'.html_safe : campaign.status || campaign.status == "Rejected" ? '<span class="glyphicon glyphicon-remove text-success"></span>'.html_safe : campaign.status