2013-12-01 2 views
4

Я пытаюсь создать image_tag и указать атрибут data, который не имеет никакого значения, установленного для него. Я пытаюсь добавить подсказку данных для использования с подсказками Foundation 5. Кажется, что если какое-либо значение действительно установлено на это, Foundation использует один и тот же текст всплывающей подсказки каждый раз и игнорирует атрибут title этого элемента (так что каждая подсказка будет говорить, что первая, на которой вы зависели, была ... что кажется ошибкой и само по части также Фонда)Rails - Добавить атрибут HTML без установки значения

Это то, что мне нужно создать:

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

Это не будет работать для меня:

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

Я попробовал несколько различных комбинаций, и читать документацию, но, похоже, независимо от того, что я поставил s значение, оно в конечном итоге генерирует его как data-tooltip = "null", или true, или false, или любую строку, которую я передаю.

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

ответ

5

Попытка пройти в пустой строке следующим образом:

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

Это действительно работает с Foundation по крайней мере (я мог бы поклясться, что пробовал это ранее), но он по-прежнему помещает data-tooltip = "" в тег. Есть ли способ удалить часть = "" все вместе так, чтобы это была только подсказка данных без = ""? – Ryan

+0

@ Ryan, к сожалению нет. Каждому атрибуту требуется значение. Даже логические атрибуты, такие как 'disabled' или' readonly', которые не нуждаются в значении, в конечном итоге получают значение. Пожалуйста, обратитесь к источнику: https://github.com/rails/rails/blob/4-0-stable/actionpack/lib/action_view/helpers/tag_helper.rb#L64. Поэтому лучше всего для вашего дела, вероятно, ложное значение или пустая строка. – vee

4

В Rails 4.1.4 с использованием выше кончика :"data-tooltip" => '' делает данные-подсказку без значения.

+0

Это должен быть принятый ответ. – cman77

+1

В рельсах 5 это не делает работу для «требуемого» attr. Мне все еще требуется = "требуется" – mizurnix

0

Для атрибута без значения, такого как , многократного<input multiple type="file">, вы можете переопределить имя по умолчанию атрибута, по верхнему регистру и установить пустую строку. Например, input_html: { Multiple: '' } Но это взломать.

0

В рельсах 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.

Это, похоже, создает желаемый результат и также проверяется как тег schema.org на google (это то, что я использовал для тега).

Смежные вопросы