2014-10-22 85 views
0

正在正确生成到HTML代码以下静态Rails3中content_tag属性

<%= 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

回答

3

我建议ST您使用以下:

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

+0

新约布尔属性学到了一些东西,他们可以通过三种方式,包括空字符串来表示。而从逻辑上讲,省略它意味着“错误”...... – Jerome 2014-10-23 10:15:10