【问题标题】:How to include javascripts within ruby on rails 5.2.3?如何在 ruby​​ on rails 5.2.3 中包含 javascripts?
【发布时间】:2020-06-14 20:51:51
【问题描述】:

我想在我当前的 ruby​​ on rails 项目中使用旧 .js 文件中的一些代码。计划是将rails中的一些数据提供给javascript库,然后查看。但是,我无法将它们全部融合在一起。

我尝试了来自herethere 以及其他一些网站(如this onethis one 等等)的一些建议。但我发现的提示对旧版本的 rails 很有用,但不适用于 rails 5.2.3。

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

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

【问题讨论】:

  • 了解更多关于资产管道的信息:guides.rubyonrails.org/asset_pipeline.html
  • 只有当您的应用程序配置中有 config.assets.enabled = true 时,这些答案才有效。你确定要这样做吗?

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


【解决方案1】:

Rails 5 与 rails 4 一样具有基于 sprocket 的相同资产管道(与默认情况下具有 webpacker 的 rails 6 不同),因此这些提示适用于您的情况。

确保您的文件以您期望的方式结束(有时可能需要重新启动服务器以获取新文件)并检查浏览器控制台是否存在 js 错误。

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

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

【讨论】:

  • 谢谢@Vasfed,非常感谢您的评论!这个技巧(听 turbolinks:load)真的很有帮助,而且一切都在应用程序的根目录中运行。现在我只需要弄清楚如何用插件做同样的事情。如果您碰巧对此有所了解,那么一点建议会让我很开心:)
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-09-07
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多