在 Ruby 中包含 JavaScript(在 Rails)

Include JavaScript in Ruby (on Rails)

本文关键字:Rails 包含 Ruby JavaScript      更新时间:2023-09-26

我不太明白Rails是如何包含JavaScript文件的。谷歌和以下文档没有解决我的问题:

http://railsapps.github.io/rails-javascript-include-external.htmlhttp://guides.rubyonrails.org/asset_pipeline.html

我知道 Rails 使用清单文件(例如应用程序.js(将每个包含的 JavaScript 文件打包到一个大文件中(性能原因等(。

在应用程序.html.erb 中,您需要包含此清单,例如

<%= javascript_include_tag :application %>

我在/app/assets/ 中添加了一个 JavaScript 文件(例如 my_javascript.js(。
所以,如果我看一下源代码,我可以找到

<script src="/assets/application.js" type="text/javascript"></script>

如果我打开文件,my_javascript.js的内容将呈现在应用程序.js文件中。

我的问题:该功能不起作用。但是如果我直接在应用程序中包含my_javascript.js.html.erb,例如

<%= javascript_include_tag "my_javascript" %>

它正在工作!当然,它会呈现第二个脚本标签,例如:

<script src="/assets/my_javascript.js" type="text/javascript"></script>

所以最后,如果我将它包含在特定而不是如果我使用清单(它应该如何(时,为什么该函数会起作用?我是否需要考虑资产管道的一些特殊之处?我的清单包括

//= require_tree .

但我什至尝试过

//= require my_javascript

我在 Ruby 3.2.3 和 Ruby 1.9.3 上。

提前谢谢你!

尝试放入Application布局

<%= yield :head %>head 标记之间。