如何让Ractive.js配合Slim模板?

How can I get Ractive.js to cooperate with Slim templates?

Ractive tutorial使用这个:

<th class='sortable {{ sortColumn === "name" ? "sorted" : "" }}'
    on-tap='sort:name'>
  Superhero name
</th>

我正在做的项目使用了 Slim。使用 html2slim,我得到了这个语法:

th.sortable.sortColumn.: class=("{{ === \"name\" ? \"sorted\" \"\" }}") on-tap="sort:name"
    Superhero name

我不知道这是否是有效的 Slim 语法;我在 Slim 文档中找不到任何内容来指导我。所以我不知道应该如何在 Slim 中格式化它,以便为 Ractive 正确呈现。

以上语法结果:

syntax error, unexpected tIDENTIFIER, expecting keyword_end

我已经搜索了 gems、SO 答案和广泛的谷歌搜索,但找不到任何线索。这里有人成功做过这样的事情吗?

在 slim 中,使用双等号 == 来禁用属性中的转义,参见 https://github.com/slim-template/slim#quoted-attributes

我相信您也可以混合使用 '"" 以避免反斜杠,而且我认为您需要在小胡子中包含数据引用。 : 内联一个子元素,因此您也不希望这样。最后,我不确定您是否可以将 .classname 符号与显式属性混合使用。所以我认为它最终是:

th class=="sortable {{ sortColumn === 'name' ? 'sorted' : '' }}" on-tap="sort:name"
    Superhero name