Я предполагаю, что значение @taxon является именем класса?Если это так, это должно работать для вас.
- taxon_class = (@taxon && ([@taxon] + @taxon.ancestors).include?(taxon)) ? @taxon : "current"
%li{:class => taxon_class}
Мне всегда легче использовать логику ruby вне скобок haml {}.