javascript - 如何在 ruby​​ on Rails 5.2.3 中包含 javascript?

标签 javascript ruby-on-rails ruby-on-rails-5

我想在当前的 Ruby on Rails 项目中使用旧 .js 文件中的一些代码。计划是将一些数据从rails提供给javascript库,然后查看它。但是我无法将所有内容整合在一起。

我尝试了 here 的一些建议和 there以及来自其他一些网站(例如 this onethis one 等等)。但我发现的提示对于旧版本的 Rails 很有用,但在 Rails 5.2.3 上不起作用。

几乎每个网站都有关于添加 jQuery 的提示。但我在这些文件中没有使用 jQuery。此外,rails 自动包含它,所以我没有更改任何内容。

我觉得自己被这个问题困住了。任何帮助将不胜感激!

最佳答案

Rails 5 具有与 Rails 4 相同的基于 sprocket 的 Assets 管道(与默认情况下具有 Webpacker 的 Rails 6 不同),因此这些提示对您的情况有效。

确保您的文件按照您的预期最终出现在 bundle 中(有时可能需要重新启动服务器才能获取新文件)并检查浏览器控制台是否有 js 错误。

此外,如果您使用 Turbolinks - 而不是 document.ready 事件,请监听 turbolinks:load:

$(document).on('turbolinks:load', function() {
  console.log("This runs on each visit")
});

关于javascript - 如何在 ruby​​ on Rails 5.2.3 中包含 javascript?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60490883/

相关文章:

ruby-on-rails - rails - 已安装 rails 但无法创建应用程序 "cannot load such file -- active_support"

javascript - three.js - 克隆纹理和 onLoad

javascript - 将文本添加到复选框开关

javascript - 为什么 this.state 在 render() 中不起作用

ruby-on-rails - 如果事件不适用于当前状态(未定义转换),如何告诉 AASM 忽略该事件?

ruby-on-rails - 从 Heroku Rails 应用程序运行 Node

ruby-on-rails - 升级到 Rails 5 问题 - 现有应用程序

ruby-on-rails - 如何在 Heroku 上获得完整的堆栈跟踪

javascript - 在react-native功能组件中哪里实现初始化代码

ruby-on-rails - rails 5 中 broadcast 、 broadcast_to 和 broadcast_for 的区别