我可以
%a{href: '#', data_toggle_description_length: 'toggle_me_ajax'}
它给我的是下划线而不是破折号
<a href="#" data_toggle_description_length="toggle_me_ajax"></a>
但是,我希望有HTML data-
属性,即
<a href="#" data-toggle-description-length="toggle_me_ajax"></a>
但当我尝试用破折号替换下划线时,即
%a{href: '#', data-toggle-description-length: 'toggle_me_ajax'}
我得到语法错误:
/home/durrantm/Dropnot/webs/rails_apps/linker/app/views/links/_links.html.haml:13: syntax error, unexpected tLABEL
...data-toggle-description-length: 'toggle_me_ajax')}>\n tog...
... ^
/home/durrantm/Dropnot/webs/rails_apps/linker/app/views/links/_links.html.haml:13: syntax error, unexpected ')', expecting '}'
...ption-length: 'toggle_me_ajax')}>\n toggleMeAjax\n </a>\...
... ^
/home/durrantm/Dropnot/webs/rails_apps/linker/app/views/links/_links.html.haml:13: unknown regexp options - pa
/home/durrantm/Dropnot/webs/rails_apps/linker/app/views/links/_links.html.haml:13: syntax error, unexpected $undefined
... toggleMeAjax\n </a>\n</span>\n", -1, false);::Haml::Util.h...
... ^
/home/durrantm/Dropnot/webs/rails_apps/linker/app/views/links/_links.html.haml:13: unterminated string meets end of file
/home/durrantm/Dropnot/webs/rails_apps/linker/app/views/links/_links.html.haml:13: syntax error, unexpected $end, expecting '}'
3条答案
按热度按时间fhity93d1#
试试这个:
或
有关更多详细信息,请参阅此处
您也可以使用在线提供的**html2haml converter**
编辑:
正如在评论中提到的,还有几种语法可以使用
或
我仍然更喜欢前两个,虽然我认为后两个看起来丑陋和有点混乱。
uqdfh47h2#
在haml中使用
{ ... }
样式真的没有太大的必要。HTML样式属性是一种更灵活和自然的html生成方式。不需要逗号,不需要哈希火箭等。您也可以非常容易地插入或直接分配变量,而无需切换样式。
例如:
其中
link
和id
是当前绑定范围中的变量。值得注意的是,你也可以无缝地包含来自xmlns的属性,svg生成使用了很多命名空间前缀,例如:
没有令人信服的理由使用另一种风格。
oknwwptz3#
像这样的东西应该工作得很好:
%a{ "data-user-id" => "#{@user.id}" }