Rails - 添加HTML属性而不设置值

时间:2013-12-01 03:52:14

标签: ruby-on-rails ruby-on-rails-4 zurb-foundation

我正在尝试创建一个image_tag并指定一个没有设置任何值的数据属性。我正在尝试添加data-tooltip,以便与Foundation 5工具提示一起使用。似乎如果任何值实际上设置为此,基金会每次都使用相同的工具提示文本并忽略该元素的title属性(因此每个工具提示都会说出你所徘徊的第一个是什么......这似乎是错误的在基金会的一部分也是如此)

这是我需要生成的内容:

<img src="[whatever]" title="My Tooltip" data-tooltip />

这对我不起作用:

<img src="[whatever]" title="My Tooltip" data-tooltip="[insert anything here]" />

我已经尝试了许多不同的组合,并阅读了文档,但似乎无论我把它作为值,它最终生成它像data-tooltip =“null”,或true,或false,或任何字符串我通过。

image_tag(my_image, class: 'has-tip', title: "My Title Here", data: { tooltip: true })

4 个答案:

答案 0 :(得分:5)

尝试按如下方式传入空字符串:

image_tag(my_image, class: 'has-tip', title: "My Title Here", data: { tooltip: "" })

答案 1 :(得分:5)

在Rails 4.1.4中使用上面提示:"data-tooltip" => ''呈现data-tooltip没有值。

答案 2 :(得分:0)

对于没有像 multiple <input multiple type="file">这样的值的属性,您可以通过大写和设置空字符串来覆盖属性默认名称。例如input_html: { Multiple: '' }但这是一个黑客攻击。

答案 3 :(得分:0)

在rails 5中,我试图在以下链接标记场景中添加itemscope属性,但没有值:

    <%= link_to example_path(@example) do %>
      <span>
        <%= @example.name %>
      </span>
    <% end %>

我需要生成的html a标记来显示itemscope属性而没有任何值,如下所示:

<a itemscope href="example/path">
    <span>
       some text
    </span>
</a>

请注意itemscope没有=""itemscope="itemscope"

我尝试过来自SO和其他地方的解决方案,唯一对我有用的是将以下内容添加到link_to标记:" itemscope" => ''。注意第一个双引号和单词itemscope之间的空格。

这似乎产生了预期的结果,并且也在google上验证为schema.org标签(这就是我使用标签的方式)。

相关问题