Il problema, ovviamente, è che ai simboli rubino non piacciono i trattini. Quindi qualcosa del genere ovviamente non funzionerà:
content_tag(:div, "Some Text", :id => "foo", :data-data_attr => some_variable)
Un'opzione è usare una stringa piuttosto che un simbolo:
content_tag(:div, "Some Text", :id => "foo", 'data-data_attr' => some_variable)
Oppure potrei semplicemente interpolare:
"<div id='foo' data-data_attr='#{some_variable}'>Some Text</div>".html_safe
In un certo senso preferisco l'ultimo, ma entrambi sembrano un po 'disgustosi. Qualcuno sa di un modo migliore?