2014-06-27 14 views
5

Tôi đang cố gắng sử dụng các biểu tượng glyph mà tôi đã tạo kiểu trong ứng dụng đường ray của mình.Rails link_to tag tag với glyphicon theo kiểu

Tôi muốn biến biểu tượng thành liên kết đến một trang khác, nhưng không thể sử dụng kiểu khởi động chuẩn vì tôi đã tùy chỉnh các liên kết cho kiểu trang của tôi.

Tôi tiếp tục gặp lỗi lớp từ khóa - có ai biết tại sao không?

Cảm ơn bạn.

tôi có đường dẫn sau trong quan điểm của tôi:

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

Tôi cũng có css như sau:

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

Bạn có thể đăng kiểu liên kết tùy chỉnh của mình không? Tôi nghĩ rằng giải pháp từ iceman là rất rõ ràng. http://jsfiddle.net/EX8th/ –

+0

Xin chào - CSS tôi đang sử dụng ở trên (span.glyphicon-comment. – Mel

+0

có nghĩa là không dành cho thẻ liên kết nhưng đối với thẻ span. Vì vậy, bây giờ, vấn đề của bạn là 'có được một lỗi cú pháp: lỗi cú pháp, keyword_ensure không mong đợi, mong đợi keyword_end.', phải không? bạn có thể đăng startrace khi bạn truy cập liên kết đó không? –

Trả lời

12

Bạn phải sử dụng "xung quanh chuỗi, cũng cần phải gọi html_safe phương pháp trên

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

nhưng cách tốt hơn và sạch hơn sẽ là

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

Hi Iceman, cảm ơn sự giúp đỡ, nếu tôi thêm đề xuất đầu tiên của bạn, nó không t nhận kiểu css của tôi.Nếu tôi sử dụng thứ hai tôi nhận được một lỗi cú pháp: lỗi cú pháp, keyword_ensure không mong đợi, mong đợi keyword_end.Tôi thêm kết thúc vào cuối của nhưng có được cùng một lỗi.Đó là một cách khác nhau để thiết lập này Cảm ơn bạn – Mel

+0

@ user2860931 Hãy thử câu trả lời cập nhật, nó thiếu một 'end' – Iceman

+0

Cảm ơn Iceman, tôi đã thử nó theo cách đó và nó trả về lỗi này: lỗi cú pháp, keyword_class không mong đợi, mong đợi keyword_do hoặc '{' hoặc '(' Không su lại có gì sai với biểu thức này. – Mel

1

Vấn đề của bạn là bạn đang sử dụng a:visited {text-decoration:none; background-color:transparent; color:grey;}; trên glyphicon css của bạn nhưng họ nên được trên liên kết của bạn

Hãy thử điều này:

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

và sau đó phong cách liên kết của bạn, nếu bạn là sử dụng scss sau đó:

.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

Hi Mandeep Cảm ơn bạn đã đề xuất. Tôi đã thử nó nhưng nhận được lỗi cú pháp sau: lỗi cú pháp, keyword_class không mong đợi, mong muốn keyword_do hoặc '{' hoặc '(' – Mel

+0

@ user2860931 bạn có thể sao chép và dán liên kết chính xác của bạn theo cách nó trong ứng dụng của bạn – Mandeep