如何在单个视图文件中包含位于vendor / assets / javascripts中的javascript文件(不在application.js中)?
某种javascript_include_tag
?请帮我解释语法
我尝试过以下操作但它无法正常工作:
谢谢
答案 0 :(得分:1)
<%= javascript_include_tag "your_file" %>
如果您尝试加入respond.js
,可以查看respond_rails宝石,这样您就可以在自己的视图中加入此内容:
<%= respond_include_tags %>
在你的课程视图中
答案 1 :(得分:0)
这可能是一个古老的问题,但对于正在寻找适用于任何js文件的答案的其他人,例如:vendor/assets/randomfolder/anotherfolder/custom.js
,然后在个人内部使用custom.js
包含javascript_include_tag
查看文件,您需要将以下代码行添加到assets.rb
中:
Rails.application.config.assets.precompile += %w( anotherfolder/custom.js )
此处的路径是anotherfolder/custom.js
而不是randomfolder/anotherfolder/custom.js
,因为vendor/assets/
中的任何文件夹/文件都会自动添加到rails资产管道路径/ sprokets搜索路径中。请注意,未添加深层文件夹,因此未添加anotherfolder/custom.js
路径。
将该行添加到assets.rb
之后,您现在可以在任何视图文件中使用javascript_include_tag anotherfolder/custom.js
了。
另外,如果您不想继续键入子目录anotherfolder
,则可以转到application.rb
,并使用以下代码将其添加到资产管道/ sprokets路径:
config.assets.paths << Rails.root.join("vendor", "assets", "randomfolder", "anotherfolder")
这样做之后,您现在可以使用javascript_include_tag custom.js
。可以在有限的情况下使用此方法,但是不建议包含所有子目录(包括更深的子目录)。
注意:请记住重新启动服务器,以便可以更新加载路径