我可以有
%a{href: '#', data_toggle_description_length: 'toggle_me_ajax'}
它给我强调不是破折号,即
<a href="#" data_toggle_description_length="toggle_me_ajax"></a>
但是我想拥有
HTML5 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 '}'
最佳答案
尝试这个:
%a{"data-toggle-description-length" => "toggle_me_ajax", href: "#"}
或
%a{href: "#", :data => {:toggle_description_length => "toggle_me_ajax"}}
有关更多详细信息,请引用here
您还可以使用在线提供的 html2haml converter
编辑:
如评论中所述,还有其他两种语法可以使用
%a{href: "#", { "data-toggle-description-length": "toggle_me_ajax" }}
要么
%a{href: "#", { :"data-toggle-description-length" => "toggle_me_ajax" }}
我仍然更喜欢前两个,因为我认为后两个看起来很丑,有点凌乱。
关于ruby-on-rails - 如何使用haml和rails设置数据属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24353788/