ruby on rails-包括vendor/assets/javascript中的javascript



如何将位于vendor/assets/javascript中的javascript文件包含在单个视图文件中(不在application.js中(?

某种javascript_include_tag?请帮助我语法

我尝试了以下操作,但不起作用:

  • javascript_include_tag"响应">
  • javascript_include_tag"response.js">
  • javascript_include_tag'vendor/assets/javascripts/response'
  • javascript_include_tag'vendor/assets/javascripts/response.js'

感谢

<%= javascript_include_tag "your_file" %>

如果您试图包含respond.js,您可以查看responsed_rails gem,它将允许您在视图中包含以下内容:

<%= respond_include_tags %>

在您的视图中,

这可能是一个老问题,但对于其他正在寻找适用于任何js文件的答案的人来说,例如:vendor/assets/randomfolder/anotherfolder/custom.js,如果要在单个视图文件中使用javascript_include_tag包含custom.js,则需要在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。在有限的情况下使用这种方法是可以的,但不建议包括所有子目录(包括更深的子目录(。

注意:请记住重新启动服务器,以便可以更新加载路径

相关内容

  • 没有找到相关文章

最新更新