How to do data- attributes with haml and rails?
There's really not much need to use { ... }
style in haml. HTML style attributes are a more flexible and natural way for html generation.
%a(href="#" data-toggle="target") my link
No commas, no hash rockets etc. are required. You can also very easily interpolate or directly assign variables without switching styles.
e.g.
%a(href=link data-toggle="#{id}-toggle")
Where link
and id
are variables from the currently bound scope.
Notably you can also seamlessly include attributes from xmlns, svg generation uses a lot of namespace prefixes for example:
%link(xlink:type="simple" xlink:href=link)
There's no compelling reason to use another style.
Try this:
%a{"data-toggle-description-length" => "toggle_me_ajax", href: "#"}
OR
%a{href: "#", :data => {:toggle_description_length => "toggle_me_ajax"}}
For more details refer here
You can also use html2haml converter available online
EDIT:
As mentioned in comments there are a couple more syntaxes which would work
%a{href: "#", { "data-toggle-description-length": "toggle_me_ajax" }}
OR
%a{href: "#", { :"data-toggle-description-length" => "toggle_me_ajax" }}
I would still prefer first two though as I think latter ones look ugly and kinda messy.