2010-09-23 9 views
6

Me sorprende que el creador de Rails no haya pensado en eso, si alguien puede ayudarlo, sería genial.SEO/Rails - Cómo agregar la etiqueta del título a cada "link_to"

¿Cómo podemos hacer para cambiar esta situación:

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

a esto de forma automática:

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

creo que podría ayudar a SEO mucho.

¡Muchas gracias!

Alex

+4

Eso no ayudaría en absoluto SEO - sería totalmente redundante. Agregaría información sobre herramientas desagradable en todas partes y repetirá mucha información a los usuarios de lectores de pantalla. Use un atributo de título cuando necesite proporcionar información adicional que no puede incluir en el texto del enlace o que no es lo suficientemente importante como para hacerlo. – Quentin

+0

Me sorprende que quiera hacer esto, ¿no es suficiente el texto del enlace ...? –

+0

La respuesta de David tiene sentido, pero ya tuve la experiencia. Es mejor repetir el texto que dejar la etiqueta del título vacía. Y no tengo tiempo para especificar "información adicional" para todos mis enlaces. Gracias a ambos por el interés. – Alextoul

Respuesta

-4

intentar algo así como que

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

no hemos probado el código y no se acuerda la especificación exacta link_to pero creo que se entiende la idea

+0

Gracias, buena idea – Alextoul

+1

¿No sería args.merge (: título => título) realmente sobrescribir el título en args, en caso de que se haya especificado uno? {: title => title} .merge (args) debería estar en lo cierto. –

7

Su pregunta es válida y No sé por qué no votaron, pero el creador de los rieles realmente pensó en esto. En realidad, puede hacerlo de una manera muy sencilla en lugar de complicar el uso de un método personalizado:

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

Puede, de hecho, añadir cualquier parámetro que desee, no sólo el título.

Espero que esto ayude!

Cuestiones relacionadas