我正在使用基礎4.3.2的Rails應用程序,它使用布爾數據標記來定位元素。在Rails鏈接助手中沒有值的數據屬性
如果我想產生類似:
<a href="#" data-section-title>Section 2</a>
什麼是我的Rails輔助函數是什麼樣子?
<%= link_to "Section 2", "#", :"data-section-title" %>
...不起作用,從Rails得到語法錯誤。
我正在使用基礎4.3.2的Rails應用程序,它使用布爾數據標記來定位元素。在Rails鏈接助手中沒有值的數據屬性
如果我想產生類似:
<a href="#" data-section-title>Section 2</a>
什麼是我的Rails輔助函數是什麼樣子?
<%= link_to "Section 2", "#", :"data-section-title" %>
...不起作用,從Rails得到語法錯誤。
= link_to "Section 2", "#", :"data-section-title" => true
嗨克里斯!你的解決方案產生:'Section 2'。根據[這個答案](http://stackoverflow.com/questions/20308537/rails-add-html-attribute-without-setting-a-value),沒有辦法產生沒有使用rails助手值的屬性。 Logan你可以手動編碼HTML,如果這是你真正想要的,否則只需使用「」或true。 – sampierson
@sampierson感謝您的鏈接,這就是我一直在尋找的 –
<%= link_to "Section 2", "#", data: {section_title: true } %>
會生成以下代碼:
<a href="#" data-section-title="true">Section 2</a>
這應該工作。
是一個字符串「true」與布爾值是一樣的嗎? –
是的,它會試一試:) 沒有辦法與鐵路助手產生沒有價值的數據,但你會得到相同的結果,你正在尋找什麼。 – goma
你可以,但沒有很好解釋(或者至少我沒有在文檔中找到它)。您需要爲HTML屬性分配一個空白字符串。 –
要如果您正在使用ERB做到這一點,你需要分配給數據屬性爲空字符串,如
<%= link_to "Section 2", "#", data: {"section-title": "" } %>
,你需要把裏面的link_to一個'<%=',例如'<%= link_to ...%>'。 link_to的第三個參數需要是選項的散列,所以你需要說':「data-section-title」=> something'。 – sampierson