2015-10-15 114 views
2

我正在使用一系列link_to塊在我的應用程序中創建按鈕。但是我發現這些鏈接並沒有結束工作。當我將鼠標移到按鈕上時,它會識別鏈接,firefox左下角顯示正確的URL,但是當我點擊時,沒有任何反應。我的終端或開發日誌中也沒有任何內容出現。link_to block not working

我的代碼如下:

<%= link_to new_folder_path do%> 
    <div class="btn btn-default add-button add_fields"><span class="glyphicon glyphicon-plus"></span>Add Folder</div> 
<% end %> 

這使得下面的HTML:

<li> 
    <a href="/folders/new"> 
    <div class="btn btn-default add-button add_fields"><span class="glyphicon glyphicon-plus"></span>Add Folder</div> 
    </a> 
</li> 

我也應該注意到,如果我只需鍵入標準的鏈接,而不做它運行的很好:

<li><%= link_to "test", new_folder_path %></li> 

對此的任何想法將不勝感激!

+3

什麼不起作用? – Pavan

+0

@Pavan我想我應該稍微詳細一點:它不會將我引導到鏈接。當我將鼠標懸停在按鈕上時,它會識別鏈接,firefox左下角顯示正確的url,但是當我點擊沒有任何反應時。我的終端或開發日誌中也沒有任何內容出現。 – neanderslob

+1

這應該工作。但是,嘗試將'display:block'添加到'a'元素。另外,通過[驗證器](https://validator.w3.org/)運行標記,也許你有一些錯誤導致了這一點。 – Vucko

回答

0

原來,我已經放棄了一個類到我的div,防止從渲染鏈接(add_fields是類)。非常令人不滿意的答案就是它。感謝任何花時間給我提示的人。

2

試試這個。

= link_to "<span class='glyphicon glyphicon-plus'></span>Add Folder".html_safe, new_folder_path, class: 'btn btn-default add-button add_fields' 
1

你可能會更好使用button_to的按鈕 -

生成一個包含一個按鈕提交給由組選項創建的URL的形式。

所以不是你link_to,你可以使用:

<%= button_to "Add Folder", new_folder_path, class: "btn btn-default add-button add_fields glyphicon glyphicon-plus" %> 

一點題外話,如果你想樣式元素<a>標籤,你會有問題。你會更好地設計<a>標籤本身,或者根本沒有。

這樣,你得到的問題,也許可以使用下面的解決:

<%= link_to "Add Folder", new_folder_path, class: "btn btn-default add-button add_fields glyphicon glyphicon-plus" %> 

-

圖標

我知道引導包括Glyphicons。如果它們與ionIcons類似,則它們將通過將字形預先加上:before僞類來工作。

如果是這樣的話,那麼不需要需要單獨的<span>元素來封裝它們;只需將該類添加到您的鏈接/按鈕,並且應該預設:before

當然,如果你想在鏈接裏面設置span,你必須使用link_to塊;但是,您需要確保將文字包含在span中,而不是沒有內容。