【发布时间】:2017-11-25 07:58:43
【问题描述】:
由于某种原因,Turbolinks 没有在我的应用程序中触发加载事件,这是一个全新的、最近创建的应用程序。
我使用rails new(特别是rails new prueba -C -d postgresql --skip-coffee --no-api)创建了一个全新的Rails 5.1 应用程序(5.1.4)。此命令自动配置 Rails 以使用 Turbolinks,无需进一步手动配置。
然后我为模型创建了一个脚手架 (bin/rails g scaffold Thing name),只是为了有一些页面可以导航到。
最后,我创建了一个文件app/assets/javascripts/test.js,内容如下:
document.addEventListener("turbolinks.load", function() {
console.log("Turbolinks loaded")
});
运行迁移后,我在开发中运行服务器 (bin/rails s),浏览(尝试使用 Chrome v62 和 Firefox v57),并检查开发人员工具控制台,但没有看到“Turbolinks 已加载”消息,我什么也没得到:
- 当我访问
/things时,控制台是空的 - 如果我重新加载相同的页面,控制台仍然是空的
- 如果我点击“New thing”链接,控制台仍然是空的
- 如果在“New thing”页面中我点击“Back”链接,控制台仍然是空的
[...] turbolinks:load 事件,它在 初始页面加载,并在每次 Turbolinks 访问后再次加载。
因此,我希望每次都能在控制台中看到“Turbolinks 已加载”消息。
有什么想法吗?
【问题讨论】:
-
你试过用
turbolinks:load代替turbolinks.load吗?