rails 视图中 if elsif 的三元语法
Ternary syntax for if elsif in rails view
我正在尝试检查元素(状态)的值并对其执行 if 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
感谢任何帮助。
三元运算符语法为
e1
? e2
: e3
你不能没有 : e3
部分
rub 三元运算符的一般语法:
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
我正在尝试检查元素(状态)的值并对其执行 if 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
感谢任何帮助。
三元运算符语法为
e1
? e2
: e3
你不能没有 : e3
部分
rub 三元运算符的一般语法:
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