ruby-on-rails ruby-on-rails-3 haml custom-data-attribute html5-data

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.