在Slim中处理数据属性的最佳方法

我正在评估Slim作为个人项目中HAML的替代品,而且看起来并不像HAML那样处理HTML5数据属性。 我希望有人可能会遇到这个问题,或者可能已经知道我的文档中还没有find的选项/语法。

HAML允许你简单地使用嵌套散列来定义HTML 5数据属性 ,如下所示:

%a{data: {key1: 'val', key2: 'val'}}

导致

<a data-key1='val' data-key2='val'></a>

Slim有多种方式

  1. 作为哈希

    (如data = {a:1,b:2}将呈现为data-a =“1”data-b =“2”)将被连字符的属性

  2. 直接使用它,因为提到的“mu太短”很直观。

     a data-title="help" data-content="foo" 
  3. 使用Ruby代码。 我经常这样做,很less在上面。

     = link_to 'foo', bar_path, data: {a: 'a', b: 'b'} 

我更喜欢这种修复…

 @products.each do |product| .module data-id=product.id 

它正在为我工​​作

使用图示运算符:

 h1#section-title*{'data-url'=>'test', 'data-id'=>'test'} = @project.name