jQuery не выполняется при навигации в приложении rails

У меня есть jQuery/Coffeescript в приложении rails, которое успешно запускается при первом переходе к root_path и/или перезагрузке страницы, однако, если я перехожу на другую страницу, используя ссылку на домашней странице, а затем возвращаюсь на домашнюю страницу, jQuery (который должен запускаться после завершения загрузки страницы) не запускается. Почему это? Как я могу сделать так, чтобы он запускался каждый раз, когда нажимается страница? Спасибо!

'/home.js.coffee'

jQuery ->
  myFunction ->

$('#my_div').click myFunction

Примечание. Я использую Ruby 2 и Rails 4.

application.js

//= require jquery
//= require jquery_ujs
//= require jquery.turbolinks    <- including this line gives me an error "Sprockets::FileNotFound"
//= require turbolinks
//= require bootstrap
//= require_tree .

person jackerman09    schedule 27.09.2013    source источник
comment
Как вы подключаетесь к событию загрузки страницы? Можете ли вы опубликовать код jquery   -  person Rajesh Kolappakam    schedule 27.09.2013
comment
Добавлен код, чтобы показать, как я использую функцию   -  person jackerman09    schedule 27.09.2013
comment
Итак, проблема в том, что «щелчок» не связывается в следующий раз, когда вы попадаете на домашнюю страницу?   -  person Rajesh Kolappakam    schedule 27.09.2013
comment
Я не уверен, но это имело бы смысл. Я думаю, что это связано с Turbolinks, но когда я добавил github.com/kossnocorp/jquery.turbolinks в мой application.js (и мой gemfile), я продолжал получать сообщение об ошибке Sprockets::FileNotFound. Я добавлю свой файл application.js выше.   -  person jackerman09    schedule 27.09.2013


Ответы (1)


Это должно исправить ваш файл coffeescript:

myFunction = ->
  # this is what the function does.

$ -> # this gets called when the DOM is ready (thanks to jquery.turbolinks gem)
  $('#my_div').click myFunction
person evanbikes    schedule 08.01.2015