2014-06-27 53 views
5

我想使用我在rails應用程序中設置的標誌符號圖標。Rails link_to標記標記與樣式化的圖形

我想讓圖標成爲另一個頁面的鏈接,但不能使用標準引導樣式,因爲我已經爲我的頁面樣式定製了鏈接。

我不斷收到關鍵字類錯誤 - 有誰知道爲什麼?

謝謝。

我有我的看法如下鏈接:

<li><%= link_to <span class="glyphicon glyphicon-comment"></span>, page_path('messages') %> </li> 

我也有CSS如下:

span.glyphicon-comment { 
    vertical-align:middle; 
    margin:auto; 
    padding:10px; 
    font-size: 2em; 
    text-align: right; 
    a:link {text-decoration:none; background-color:transparent; color:grey;}; 
    a:visited {text-decoration:none;background-color:transparent; color:grey;}; 
    a:hover {text-decoration:none;background-color:transparent; color:dark grey;}; 
    a:active {text-decoration:none;background-color:transparent; color:grey;}; 
} 
+0

你可以發佈你的自定義樣式的鏈接?我認爲冰人的解決方案非常清楚。 http://jsfiddle.net/EX8th/ –

+0

嗨 - 我使用的CSS是以上(span.glyphicon評論。 – Mel

+0

這意味着不是鏈接標籤,但span標籤。所以,現在,你的問題是'得到一個語法錯誤:語法錯誤,意外的keyword_ensure,期待keyword_end.',是不是?你可以發佈startrace時,當你訪問該鏈接? –

回答

12

您必須使用「串繞,還需要調用html_safe方法上它。

<%= link_to "<span class=\"glyphicon glyphicon-comment\"></span>".html_safe, page_path('messages') %> 

但更好的和更清潔的方式將是

<%= link_to page_path('messages') do %> 
    <span class="glyphicon glyphicon-comment"></span> 
<% end %> 
+1

嗨冰人,感謝您的幫助,如果我添加您的第一個建議,如果我使用第二種語法,我得到一個語法錯誤:語法錯誤,意想不到的keyword_ensure,期望的是keyword_end。我在的末尾添加結尾,但得到相同的錯誤。是否有不同的設置方法謝謝 – Mel

+0

@ user2860931嘗試更新的答案,它缺少一個'結束' – Iceman

+0

感謝冰人,我試過這種方式,它返回這個錯誤:語法錯誤,意想不到的關鍵字類,期待keyword_do或'{'或'('不是su這個表達有什麼問題。 – Mel

1

你的問題是,你正在使用a:visited {text-decoration:none; background-color:transparent; color:grey;};您glyphicon CSS但他們應該是你的鏈接

上試試這個:

<%= link_to page_path('messages'), class: "comment_link" do %> 
    <span class="glyphicon glyphicon-comment"></span> 
<% end %> 

,然後風格你的鏈接,如果你是使用scss然後:

.comment_link{ 
    .glyphicon-comment{ 
    vertical-align:middle; 
    margin:auto; 
    padding:10px; 
    font-size: 2em; 
    text-align: right; 
    } 
    &:hover, &:visited, &:active{ 
    text-decoration:none; 
    background-color:transparent; 
    color:dark grey; 
    } 
} 
+0

嗨曼德普感謝您的建議。我嘗試了它,但得到以下語法錯誤:語法錯誤,意想不到的關鍵字class,期待keyword_do或'{'或'(' – Mel

+0

@ user2860931你能複製並粘貼你的確切鏈接 – Mandeep