Как открыть ссылку в новом окне с помощью ruby?
<li class="li_spacing"><%= button_to "Website", @restaurant.website, :target => '_blank', :class => "btn btn-primary" %></li>
Все работает кроме :target => '_blank'
, Почему это не делает ссылку на новую страницу?
3 ответа
Меняться от button_to
к link_to
:
<%= link_to "Website", @restaurant.website, target: "_blank" %>
button_to
генерируется внутри формы, если вы все еще хотите ее использовать:
button_to "Website", @restaurant.website, class: 'btn btn-primary', form: {target: '_blank'}
Распространенным способом открыть ссылку в новом окне было добавить target="_blank"
на тег ссылки.
Но по соображениям безопасности это не должно быть сделано больше. Рекомендуется использовать rel=noreferrer
вместо:
link_to 'title', url, rel: 'noreferrer'
Или как кнопка:
button_to 'title', url, form: { rel: 'noreferrer' }
Если вы используете button_to
помощник, то он автоматически оборачивается в форму с помощью рельсов. Итак, что вы можете сделать, это передать атрибут target: '_blank'
как:
button_to "Website", @restaurant.website, class: 'btn btn-primary', form: {target: '_blank'}