rails3 content_tag具有静态属性

时间:2014-10-22 10:55:26

标签: ruby-on-rails-3 content-tag

以下内容正确地生成为HTML代码

<%= content_tag(:span, (t 'hints.h'), :class => "has-tip", :title => (t 'hints.s') ) %>

但我正在尝试生成

<span data-tooltip aria-haspopup="true" class="has-tip" title="title bla bla">translated h</span>

并且发现没有办法生成这些span属性data-tooltip aria-haspopup="true"它们不能成为选项哈希的一部分,因为只有一个名称...而第二个有一个破折号阻碍了将它定义为符号:咏叹调-haspopup

1 个答案:

答案 0 :(得分:3)

我建议您使用以下内容:

content_tag(:span, t('hints.h'), :class => 'has-tip', :title => t('hints.s'), :'aria-haspopup' => true, :'data-tooltip' => '')

请注意,如果将它们用引号括起来,则可以在符号中使用短划线字符。

您也可以指定为:data => {:tooltip => ''}而不是:'data-tooltip' => ''等嵌套哈希的数据属性,使用您喜欢的任何内容。

对于布尔属性data-tooltip,将值设置为空字符串与省略它(以及使用Rails 3的最佳选项;))。另见:

http://www.w3.org/html/wg/drafts/html/master/infrastructure.html#boolean-attributes