2013-09-22 4 views
44

Я оценивала Тонкий в качестве замены для Haml в личный проект, и он не появляется для обработки данных HTML5 атрибуты, как изящно, как Haml. Я надеялся, что кто-то, возможно, также столкнется с этим, или, возможно, знал о опции/синтаксисе, который я еще не нашел в своих документах.Лучший способ обработки данных атрибутов Слим

HAML позволяет определить HTML 5 data attributes просто с помощью вложенных хэшей так:

%a{data: {key1: 'val', key2: 'val'}}

в результате

<a data-key1='val' data-key2='val'></a>

ответ

75

Есть несколько способов Слим

  1. As Hash

    Атрибуты, которые будут переноситься, если задан хеш (например, Данные = {а: 1, б: 2} будет оказывать в качестве данных-а = "1" данных б = "2")

  2. Используйте его непосредственно в качестве "му является слишком коротким" упоминается, вполне интуитивно ,

    a data-title="help" data-content="foo" 
    
  3. Используйте код Ruby. Я часто делаю это и редко выше.

    = link_to 'foo', bar_path, data: {a: 'a', b: 'b'} 
    
+0

Отлично, ** # 3 ** именно то, что я искал. Я не видел ничего, что могло бы выпрыгнуть из документов, описывающих это, как это делали документы HAML. Благодаря! – mmoss

+3

moss, # 3 не является ни Haml, ни Slim, но Rails helper :) –

+3

Обратите внимание, что если вы делаете 'a href =" # "data = {имя_пользователя: 'fred', user_id: 1}' он переведет это на '' - это не связано с Rails, поскольку вы увидите, что он работает в приложениях Sinatra. –

0

Я предпочитаю этот вид исправить ...

@products.each do |product| 
    .module data-id=product.id 

Это работает для меня

0

Используйте пейнтбольный оператора:

h1#section-title*{'data-url'=>'test', 'data-id'=>'test'} = @project.name 
Смежные вопросы