2014-06-27 9 views
5

J'essaie d'utiliser les icônes de glyphes que j'ai stylisées dans mon application rails.Rails link_to tag tag avec glyphicon stylé

Je veux faire de l'icône un lien vers une autre page, mais je ne peux pas utiliser le style bootstrap standard car j'ai personnalisé les liens pour le style de ma page.

Je continue d'obtenir une erreur de classe de mot-clé - est-ce que quelqu'un sait pourquoi?

Merci.

je le lien suivant à mon avis:

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

J'ai aussi css comme suit:

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

Pouvez-vous poster votre style de liens personnalisés? Je pense que la solution d'iceman est très claire. http://jsfiddle.net/EX8th/ –

+0

Salut - le CSS que j'utilise est au-dessus (span.glyphicon-comment. – Mel

+0

ce n'est pas impliquer pour la balise de lien mais pour l'étiquette d'envergure.) Donc, maintenant, votre problème est 'obtenir un erreur de syntaxe: erreur de syntaxe, keyword_ensure inattendu, attente de keyword_end.', n'est-ce pas? Pouvez-vous poster startrace lorsque vous accédez à ce lien? –

Répondre

12

Vous devez utiliser "autour de la chaîne, doivent également appeler la méthode html_safe sur il.

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

mais une façon meilleure et plus propre serait

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

Salut Iceman, merci pour l'aide, si j'ajoute la première de vos suggestions, ça ne marche pas Si j'utilise la seconde, j'obtiens une erreur de syntaxe: erreur de syntaxe, mot-clé inattendu, attente de mot-clé_fin, j'ajoute fin à la fin du mais j'obtiens la même erreur. Merci – Mel

+0

@ user2860931 Essayez la réponse mise à jour, il manquait un 'end' – Iceman

+0

Merci Iceman, je l'ai essayé de cette façon et il renvoie cette erreur: erreur de syntaxe, inattendue keyword_class, en attendant keyword_do ou '{' or '(' Pas su Qu'est-ce qui ne va pas avec cette expression? – Mel

1

Votre problème est que vous utilisez a:visited {text-decoration:none; background-color:transparent; color:grey;}; sur votre css glyphicon mais ils devraient être sur votre lien

Essayez ceci:

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

et le style de votre lien, si vous êtes en utilisant scss puis:

.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

Salut Mandeep Merci pour la suggestion. J'ai essayé mais obtenez l'erreur de syntaxe suivante: erreur de syntaxe, keyword_class inattendue, attendez keyword_do ou '{' ou '(' – Mel

+0

@ user2860931 pouvez-vous copier et coller votre lien exact comme il est dans votre application – Mandeep