Class HAML:如何以正确的方式向标记添加条件类?

Class HAML:如何以正确的方式向标记添加条件类?,class,haml,Class,Haml,我们经常在HAML中执行以下操作: %li{ class: "#{'active' if action_name == 'index'}" } 这看起来真的很难看,直觉上我想用以下方法来做: %li{ class: 'active' if action_name == 'index' } 但这会导致语法错误,意外的修饰符\u if,预期为“')” 有更好的方法吗?你只需要括号: %li{class: ('active' if true)} 如果需要,可以创建一个帮助器: 那么你就可以这样使

我们经常在HAML中执行以下操作:

%li{ class: "#{'active' if action_name == 'index'}" }
这看起来真的很难看,直觉上我想用以下方法来做:

%li{ class: 'active' if action_name == 'index' }
但这会导致
语法错误,意外的修饰符\u if,预期为“')”


有更好的方法吗?

你只需要括号:

%li{class: ('active' if true)}
如果需要,可以创建一个帮助器:

那么你就可以这样使用它:

%li{active_if_index(action_name)}

你只需要括号:

%li{class: ('active' if true)}
如果需要,可以创建一个帮助器:

那么你就可以这样使用它:

%li{active_if_index(action_name)}

非常感谢。不用说,这样做(在许多其他事情中)更漂亮:
li class=active\u if\u index(action\u name)
。谢谢。不用说,这一点(在许多其他事情中)要漂亮得多:
li class=active\u if\u index(action\u name)