haml html属性中的正则表达式

时间:2014-01-31 04:55:58

标签: ruby-on-rails ruby haml

有可能有这样的东西吗? :

%div{"data-regex": "a/regular/expression"}

当我尝试这样做时,我收到了这个错误:

syntax error, unexpected ':', expecting tASSOC

我试过这个:%div{"data-regex": #{"a/regular/expression"}},但是是一样的。

2 个答案:

答案 0 :(得分:0)

为确保它有效,您可以尝试使用常用表单来编写参数哈希:

%div{:'data-regex' => "a/regular/expression"}

我想,这可能适用于 ruby​​ 2.x

%div{"data-regex": "a/regular/expression"}

答案 1 :(得分:0)

您可能正在寻找的是:

%div{data: {regex: "a/regular/expression"} }

但是,如果您在问题中包含所需的HTML,那么我们可以肯定地知道。提供的另一个答案也可以使用,但如果您想要提供许多数据属性而不重复“数据 - ”,这一点就特别好了。也就是说,你可以这样做:

%div{data: {regex: "a/reg/ex", attr2: "something", attr3: "something else" } } 

请注意,您的问题是Ruby 1.9+中针对哈希中的符号键的漂亮语法不适用于冒号之前的字符串。

{ a: 123 }
# => { :a => 123 }

{ :"a" => 123 }
# => { :a => 123 }

{ "a" => 123 }
# => { "a" => 123 }

{ "a": => 123 }
# => SyntaxError ...