我们经常在HAML中执行以下操作:
%li{ class: "#{'active' if action_name == 'index'}" }
这看起来很丑陋,直觉上我想用以下方式做到:
%li{ class: 'active' if action_name == 'index' }
但这导致syntax error, unexpected modifier_if, expecting ')'
。
有更好的方法吗?
答案 0 :(得分:1)
你只需要括号:
%li{class: ('active' if true)}
如果您愿意,可以创建帮助attribute method:
def active_if_index(action_name)
if action_name == 'index'
{class: 'active'}
else
{}
end
end
然后你可以这样使用:
%li{active_if_index(action_name)}