Всплывающая подсказка в Ruby on Rails

Я пытаюсь сделать это в течение достаточно долгого времени, и я не могу понять, что не так:

Моя ссылка:

<%= link_to '#', tag, class: "tag-tooltip",
                    :data => {:toggle=>"tooltip"},
                    'data-original-title' => "Hey Whats up",
                    'data-placement' => 'right'%>

Мой Javascript:

$('.tag-tooltip').tooltip();

Но это не работает... Что мне не хватает?

РЕДАКТИРОВАТЬ

Если я захожу в консоль Chrome и вставляю ($ ('. Tag-tooltip'). Tooltip ();), это работает.

Итак, я думаю, что файл JS не загружается? (Я проверил свое application.js, и мне требуется все.)

3 ответа

Решение

Я нашел упаковку, которая работала:

$(document).on("ready page:change", function() {
  $('.tag-tooltip').tooltip();
});

Обновить:

$(document).on("turbolinks:load",function(){
  $('.tag-tooltip').tooltip();
})

С ванильным JS

document.addEventListener("turbolinks:load", function() {
  $('.tag-tooltip').tooltip();
});

В моем случае проблема была в том, что я загружал jquery-ui после bootstrap-sprockets

В моем application.js Я изменился:

//= require jquery
//= require jquery_ujs
//= require turbolinks
//= require bootstrap-sprockets
//= require jquery-ui

в

//= require jquery
//= require jquery_ujs
//= require jquery-ui
//= require turbolinks
//= require bootstrap-sprockets

Тогда все стало работать как надо.

Вам нужно добавить скрипт в ваш код:

$(document).ready(function(){
    $('[data-toggle="tooltip"]').tooltip(
      {container:'body', trigger: 'hover', placement:"right"}
    );   
  });
Другие вопросы по тегам