Mam ten kod:
<%= link_to image_tag("facebook.png", :class => "facebook_icon", :alt => "Facebook", :target => "_blank"),
"http://www.facebook.com/mypage" %>
Jak mogę otworzyć go w nowej karcie, gdy użytkownik kliknie łącze?
ruby-on-rails
ruby
ruby-on-rails-3
Dantes
źródło
źródło
target: :_blank
oznacza.Rozumiem: możesz poprosić przeglądarkę o otwarcie nowej karty lub nowej witryny. Ale to zależy od ustawień użytkownika. Uważam, że odpowiedź na to pytanie.
Z wyjątkiem tego, że wpadłem w pułapkę, kiedy konieczne jest oddzielenie opcji linków od opcji html:
link_to(name = nil, options = nil, html_options = nil, &block)
Przykład:
źródło
Aby dodać do poprzedniej odpowiedzi, poniższy format jest sugerowany przez rubocop. Może to stanowić zagrożenie dla bezpieczeństwa, ponieważ załadowana strona będzie mieć kontrolę nad poprzednią stroną i może zmienić swoją lokalizację w celu wyłudzenia informacji.
Aby temu zapobiec, należy dodać do kodu atrybut „rel”.
Teraz link_to powinno być:
rubocop docs
źródło