Лайтбокс / Fancybox для Rails 4

0

Я установил жемчужину Fancybox2 в мое приложение для рельсов, но он не работает в 100% случаев. Кажется, это проблема с Turbolinks, поскольку она работает только после обновления или когда страница посещается напрямую.

У меня уже установлен мой jquery, используя:

$(document).ready(ready);
$(document).on('page:load', ready);

где "ready" является функцией, чтобы гарантировать, что она работает с реализацией Rails 4 turbolinks, но, похоже, Fancybox не обновлялся аналогичным образом.

Кто-нибудь найдет какие-либо исправления или альтернативы, чтобы получить лайтбокс, прекрасно работающий в Rails 4?

Я думаю, что там тоже может быть что-то встроенное в fancybox, что я могу в моей ready функции повторно инициализировать, когда страница загружается с turbolinks?

  • 0
    Кажется, проблема в турболинках, поэтому вместо них можно использовать fancybox-rails .
  • 0
    Я использовал Fancybox2-rails Я думаю, что я пробовал Fancybox-rails и у меня были другие проблемы ... Я мог попробовать снова
Показать ещё 2 комментария
Теги:
lightbox
ruby-on-rails-4
fancybox-2

2 ответа

0
Лучший ответ

Обновление - я пошел с базой, свободной структурой, которая хорошо работает с рельсами и включает в себя модальные, а также многие другие функции

0

Обычно это проблема с Turboliknks.

Чтобы обойти это, я просто обновляю лайтбоксы каждый раз, когда turbolinks перезагружает страницу.

Образец в CoffeeScript:

ready = () ->
  lightbox.init()

$(document).on 'turbolinks:load', ready
  • 0
    с этим кодом div #lightbox появляется в нижней части документа после использования кнопки «Назад» браузера, чтобы вернуться на страницу (удаление #lightbox и #lightboxOverlay до того, как init () исправит это)

Ещё вопросы

Сообщество Overcoder
Наверх
Меню