rails ujs - javascript не выполняется

Это очень странная проблема. У меня есть приложение rails, в котором я заменяю один фрагмент на странице другим с помощью UJS. Недавно он перестал работать, поэтому я начал вести журнал на протяжении всего процесса, чтобы увидеть, где он сломался. Вот что я обнаружил:

  • После щелчка по ссылке консоль rails сообщает мне, что все отрисовано, включая все частичные данные, и возвращает 200 OK.
  • A помещает в контроллер действия, возвращает нормально
  • A помещает в блок response.do возвращает нормально
  • A помещает в файл .js.erb, возвращает нормально

Это означает, что он полностью запускается файл .js.erb и оценка рубина без ошибок. Но вот что странно - ни один из javascript не выполняется. Когда я запускаю предупреждение («привет?») В файле .js.erb, оно не выполняется.

Кто-нибудь раньше сталкивался с этой проблемой? Кажется чрезвычайно странным, что он запускает оценку erb, но не js. И в консоли js ошибок тоже нет.

Для справки: очистил кеш, перезапустил браузер, перезапустил приложение rails и ничего не изменилось.

Пример кода:

# view
link_to 'example', some_path, :remote => true

# controller
respond_to do |format|
  format.js
end

# .js.erb file
alert('this never shows up');
<% puts 'this shows up in the rails console' %>

Большое спасибо всем, кто может пролить свет на эту странную проблему!

10
задан Jeff Escalante 19 November 2011 в 23:58
поделиться