ruby on rails - ¿Cómo hacer atributos de datos con haml y rieles?
ruby-on-rails ruby-on-rails-3 (2)
Prueba esto:
%a{"data-toggle-description-length" => "toggle_me_ajax", href: "#"}
O
%a{href: "#", :data => {:toggle_description_length => "toggle_me_ajax"}}
Para más detalles consulte here
También puede utilizar el convertidor html2haml disponible en línea
EDITAR:
Como se mencionó en los comentarios, hay un par de sintaxis más que funcionan
%a{href: "#", { "data-toggle-description-length": "toggle_me_ajax" }}
O
%a{href: "#", { :"data-toggle-description-length" => "toggle_me_ajax" }}
Todavía preferiría las dos primeras, aunque creo que las últimas se ven feas y un poco desordenadas.
yo puedo tener
%a{href: ''#'', data_toggle_description_length: ''toggle_me_ajax''}
lo que me da subrayado no guiones, es decir
<a href="#" data_toggle_description_length="toggle_me_ajax"></a>
Sin embargo quiero tener atributos de HTML5 data-
, es decir
<a href="#" data-toggle-description-length="toggle_me_ajax"></a>
pero cuando trato de reemplazar guiones bajos con guiones, es decir
%a{href: ''#'', data-toggle-description-length: ''toggle_me_ajax''}
Recibo errores de sintaxis:
/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 ''}''
Realmente no hay mucha necesidad de usar el estilo { ... }
en haml. Los atributos de estilo HTML son una forma más flexible y natural para la generación de html.
%a(href="#" data-toggle="target") my link
No se requieren comas, cohetes hash, etc. También puede interpolar muy fácilmente o asignar directamente variables sin cambiar de estilo.
p.ej
%a(href=link data-toggle="#{id}-toggle")
Donde link
e id
son variables del alcance actualmente enlazado.
Cabe destacar que también puede incluir atributos de xmlns sin problemas, la generación svg utiliza muchos prefijos de espacio de nombres, por ejemplo:
%link(xlink:type="simple" xlink:href=link)
No hay ninguna razón convincente para usar otro estilo.