Подтвердить что ты не робот

Rails: использование link_to для создания ссылки без href

Как я могу использовать помощник link_to для создания ссылки без атрибута href? Я хочу сделать ссылку исключительно для javascript-действия, я не хочу, чтобы она перезагружала страницу или что-то еще.

Когда я опускаю параметр url, щелчок по ссылке перезагружает страницу. То же самое для обеспечения nil вместо URL.

4b9b3361

Ответ 1

Я использую этот подход:

= link_to('Click me', 'javascript:;', :id => :foo)

В основном это Javascript no-op

Ответ 2

Вы также можете использовать

content_tag("a","link text")

который дает вам

<a>link text</a>

Смотрите: rails api

Ответ 3

Задайте для href значение:

javascript:void(0)

Это позволит вам иметь ссылку, что щелчок на ней ничего не делает, не перезагружает страницу и не перемещает страницу вверх.

Ответ 4

Альтернативой является

= link_to("My hyperlink", "#")

Это даст вам ссылку, которая при нажатии на нее не перезагружает страницу, как передача в ноль. В то же время он установит указатель мыши на курсор мыши, который вы не получите с помощью подхода content_tag.

Ответ 5

Пример для рельсов 5:

<%= content_tag("a", image_tag("/logo.png"), class: "navbar-brand") %>

Это будет выглядеть как:

<a class="navbar-brand"><img src="/logo.png" alt="Logo"></a>

Это похоже на ответ niels, но с вложенным image_tag и классом.

Источник: Rails API

Ответ 6

Я предпочитаю использовать простой HTML без атрибута href вообще в таких случаях:

<a data-toggle="modal" data-target="#myModal">Open dialog</a>

IMHO более читабельна, чем content_tag("a","link text").

  • Недостатком href=# является то, что браузер переместится вверх при нажатии по умолчанию
  • javascript:; выглядит уродливо

Ответ 7

Я думаю, вам лучше использовать кнопку в ситуациях, где нет href.

<button class='button'>Hello</button>