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

时间:2013-12-13 09:27:31

标签: class haml

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

%li{ class: "#{'active' if action_name == 'index'}" }

这看起来很丑陋,直觉上我想用以下方式做到:

%li{ class: 'active' if action_name == 'index' }

但这导致syntax error, unexpected modifier_if, expecting ')'

有更好的方法吗?

1 个答案:

答案 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)}