2010-09-23 13 views
6

Jestem zaskoczony, że twórca Railsów nie myślał o tym, jeśli ktoś może pomóc, byłby świetny.SEO/Rails - jak dodać tag tytułu do każdego "link_to"

Jak możemy zrobić, aby to zmienić:

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

to automatycznie:

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

myślę, że może to pomóc SEO dużo.

Wielkie dzięki!

Alex

+4

To nie pomogłoby SEO w ogóle - byłoby całkowicie zbędne. Dodałoby to paskudne podpowiedzi w całym miejscu i powtórzyłoby wiele informacji dla użytkowników czytników ekranu. Użyj atrybutu title, jeśli chcesz podać dodatkowe informacje, których nie możesz uwzględnić w tekście linku lub nie jest to wystarczająco ważne, aby to zrobić. – Quentin

+0

Jestem zaskoczony, że chcesz to zrobić, czy tekst linku nie jest wystarczający ...? –

+0

Odpowiedź Dawida ma sens, ale miałem już doświadczenie wcześniej. Lepiej powtórzyć tekst niż pozostawić tag tytułowy pusty. I nie mam czasu na określenie "dodatkowych informacji" do wszystkich moich linków. Dziękuję wam za zainteresowanie. – Alextoul

Odpowiedz

-4

Spróbuj coś takiego

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

nie zostało przetestowane kod i nie pamiętam dokładnie link_to specyfikację, ale myślę, że masz pomysł

+0

Dzięki, dobry pomysł – Alextoul

+1

Czy args.merge (: title => title) faktycznie nie zastąpi tytułu w args, na wypadek gdyby został określony? {: title => title} .merge (args) powinien mieć rację. –

7

Twoje pytanie jest ważne i Nie wiem, dlaczego przegłosowano, ale twórca torów naprawdę o tym myślał. Faktycznie, można to zrobić w bardzo prosty sposób, a nie komplikując przy użyciu metody niestandardowe:

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

Można w rzeczywistości dodać dowolny parametr chcesz, a nie tylko tytuł.

Mam nadzieję, że to pomoże!

Powiązane problemy