0

以下内容正在正确生成到 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>

并且找不到生成这些跨度属性的方法data-tooltip aria-haspopup="true" 它们不能成为选项哈希的一部分,因为一个只有一个名称......而第二个有一个破折号,阻碍将其定义为符号:aria-haspopup

4

1 回答 1

3

我建议您使用以下方法:

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

请注意,如果将符号括在引号中,则可以在符号中使用破折号。

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

至于布尔属性data-tooltip,将值设置为空字符串与省略它一样好(以及 Rails 3 的最佳选择;))。也可以看看:

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

于 2014-10-22T23:03:28.040 回答