Проблема, конечно, в том, что символы ruby не любят дефисы. Итак, что-то вроде этого явно не сработает:
content_tag(:div, "Some Text", :id => "foo", :data-data_attr => some_variable)
Один вариант - использовать строку, а не символ:
content_tag(:div, "Some Text", :id => "foo", 'data-data_attr' => some_variable)
Или я мог бы просто интерполировать:
"<div id='foo' data-data_attr='#{some_variable}'>Some Text</div>".html_safe
Я предпочитаю позже, но оба кажутся немного грубыми. Кто-нибудь знает лучший способ?