2010-09-23 16 views
6

Je suis surpris Rails créateur n'a pas pensé à cela, si quelqu'un peut aider, serait génial.SEO/Rails - Comment ajouter la balise de titre à chaque "link_to"

Comment pouvons-nous faire pour changer cela:

<%= link_to "My Title", :controller => "products" %> 

à ce automatiquement:

<%= link_to "My Title", :controller => "products", :title => "My Title" #basically a copy of the text %> 

Je pense que cela pourrait aider SEO beaucoup.

Merci beaucoup!

Alex

+4

Ce ne serait pas utile SEO du tout - il serait tout à fait inutile. Il ajouterait des infobulles laides partout et répéterait beaucoup d'informations aux utilisateurs de lecteur d'écran. Utilisez un attribut title lorsque vous devez fournir des informations supplémentaires que vous ne pouvez pas inclure dans le texte du lien ou qui ne sont pas suffisamment importantes pour le faire. – Quentin

+0

Je suis surpris que vous voulez faire cela, n'est-ce pas assez le texte du lien ...? –

+0

La réponse de David a du sens, mais j'avais l'expérience auparavant. Il est préférable de répéter le texte que de laisser la balise de titre vide. Et je n'ai pas le temps de spécifier des "informations supplémentaires" à tous mes liens. Merci à vous deux pour l'intérêt. – Alextoul

Répondre

-4

Essayez quelque chose comme ça

def link_to_with_autotitle(title, args = {}) 
    link_to_without_autotitle(title, args.merge(:title => title)) 
end 
alias_method_chain :link_to, :autotitle 

Je n'ai pas testé le code et ne me souviens pas la spécification link_to exacte, mais je pense que vous avez l'idée

+0

Merci, bonne idée – Alextoul

+1

Args.merge (: title => title) ne remplacerait-il pas le titre dans args, au cas où l'un d'entre eux serait spécifié? {: title => title} .merge (args) devrait avoir raison. –

7

Votre question est valide et Je ne sais pas pourquoi vous avez voté en bas, mais le créateur de rails a vraiment pensé à cela. En fait, vous pouvez le faire d'une manière très simple au lieu de compliquer l'aide d'une méthode personnalisée:

<%= link_to "Link", { :action => "show" }, { :title => "Title" } %> 

Vous pouvez en effet ajouter un paramètre que vous voulez, non seulement le titre.

Espérons que cela aide!