如何从代码中设置属性,还在标记内插入文本

时间:2013-03-26 20:58:28

标签: ruby-on-rails slim-lang

我有这段代码:

  span class==I18n.locale == locale_used ? "inactive" : nil
    = link_to(I18n.t('locale_name', locale: locale_used),\
              url_for(locale: locale_used))

如果我删除“类”部分,一切都很好。用苗条写这个的正确方法是什么?

没有类部分,错误是:syntax error, unexpected keyword_ensure, expecting $end

1 个答案:

答案 0 :(得分:1)

问题在于class属性中的复杂表达式。

Slim对它感到困惑,所以你需要用()包装它来正确解析它:

span class==(I18n.locale == locale_used ? "inactive" : nil)
  = link_to(I18n.t('locale_name', locale: locale_used),\
              url_for(locale: locale_used))