2010-01-10 4 views
2

Pour la vie de moi, je ne peux pas comprendre (ou trouver le bon texte pour rechercher) comment créer un lien qui ressemble à ceci:Learning Rails: Créer un lien vers la route nommée avec seulement le texte dans l'étendue imbriquée

<a href="/publisher" class="button first"><span>This text will be hidden</span></a> 

Il existe un exemple similaire dans l'API link_to, mais il ne répond pas tout à fait à ce dont j'ai besoin. Je ne veux pas que mon balise d'ancrage ait du texte (tout le texte se trouve dans le span imbriqué) et je veux créer un lien vers un itinéraire nommé publisher_root. Je suis fatigué de me cogner la tête, alors toute aide serait très appréciée. MISE À JOUR: Comme mentionné dans mon commentaire ci-dessous, HAML est également en jeu ici. Je l'ai éliminé à l'origine parce qu'il ne semblait rien de plus qu'une complexité supplémentaire. Comme il semble être au cœur de la question, bien que, je l'ai ajouté la balise et voici mon code:

#masthead.container 
    %h1 
    != image_tag('home-masthead.png') 
    %p 
    - link_to publisher_root, :class => 'button first' do 
     %span Link Text 

Répondre

5

Vous devez utiliser la forme de bloc de l'aide link_to. Cela va faire ce que vous avez besoin:

<% link_to publisher_root, :class => 'button first' do %> 
    <span>This text will be hidden</span> 
<% end %> 

Version HAML:

= link_to publisher_root, :class => 'button first' do 
    %span This text will be hidden 
+0

Hmmm. J'ai effectivement essayé, mais j'ai une erreur sur 'publisher_root'. J'ai couru des "rake routes" et ça existe donc c'est pourquoi j'ai supposé que je me trompais. J'utilise HAML pour faire cela, alors peut-être qu'il se passe quelque chose que je ne comprends pas. Je reviendrai et jetterai un autre coup d'oeil. Je vous remercie. –

+0

Je l'ai essayé moi-même avec un de mes propres projets (en utilisant ERB) et ça a marché. Comme vous le dites, c'est peut-être un problème HAML. –

+0

Argh. Parfois, l'évidence est la plus difficile à voir. Tout ce qui me manquait était le suffixe '_url':' link_to publisher_root_url,: class => 'bouton d'abord' fais ... 'Merci pour votre aide. –

Questions connexes