我不确定如何在视图 IF 语句中使用 OR。
这不起作用:
<% if current_user.employee.emptype.typename == "ADMIN" or "TECH" %>
谢谢!
我不确定如何在视图 IF 语句中使用 OR。
这不起作用:
<% if current_user.employee.emptype.typename == "ADMIN" or "TECH" %>
谢谢!
写这样的东西:
<% if current_user.employee.emptype.typename == "ADMIN" || current_user.employee.emptype.typename == "TECH" %>
或更好
<% if ['TECH', 'ADMIN'].include?(current_user.employee.emptype.typename) %>
请注意 OR 和 AND 关键字,它们的运算符优先级与&&
and不同||
您可以通过以下两种方式之一执行此操作。我更喜欢第一种方法。
<% if current_user.employee.emptype.typename.in?(["ADMIN", "TECH"]) %>
...或者...
<% if current_user.employee.emptype.typename == "ADMIN" || current_user.employee.emptype.typename == "TECH" %>
那是行不通的,它与视图无关。在 Ruby 中,所有字符串都true
在 if 语句中求值。
您必须根据类型名称检查这两个值,如下所示:
if current_user.employee.emptype.type_name == "ADMIN" || current_user.employee.emptype.type_name == "TECH"
或检查它是否包含在有效类型的数组中:
if ["ADMIN", "TECH"].include?(current_user.employee.emptype.type_name)
另请参阅本文以比较 Ruby 中的||
和or
。