在页面的最底部包含javascript文件

Ala*_*ano 6 ruby ruby-on-rails asset-pipeline

我有一个Rails应用程序.还有一个javascript(javascript1.js)文件必须包含在每个视图的最底部.我把它放到/ assets/javascripts文件夹中.Application.js包含以下代码

//= require jquery
//= require jquery_ujs
//= some other files

//= require_directory . 
Run Code Online (Sandbox Code Playgroud)

即使不包括javascript1.jsApplication.js,它会自动地包含,不会吧?

那我怎么能做我想要的呢?

Con*_*ion 8

单独定义,包含和执行您的JavaScript.

这就是我要做的事情:

  • 将代码包装javascript1.js在函数中.现在解释javascript文件的时间并不重要,因为解释该文件只会添加一个函数供以后使用
  • 添加'javascript_footer'视图到布局(通过例如render电话或a javascript_include_tag),然后自动包含在每个视图中
  • 在该页脚中,调用中定义的函数javascript1.js.

回应第一条评论:

当然,您可以跳过步骤1和3并将javascript添加到您的layouts/application.html.erb使用中,例如

<%= javascript_include_tag "javascript1" %> 
Run Code Online (Sandbox Code Playgroud)

(假设您正在使用erb模板并假设文件位于javascript_include_tag方法将自动找到它的位置(请参阅http://guides.rubyonrails.org/layouts_and_rendering.html).

回应第二条评论:

没错,我对你的第一条评论的回应没有解决这个问题.没有简单的方法可以从资产管道中排除文件,因为清单文件明确列出了要包含的内容.一个解决方案是移动的一切,除了javascript1.jsassets/javascripts/all和更改//= require_directory .//= require_directory all.另外,丑陋但实用的解决方案是增加//= require_self在底部和内容添加javascript1.jsapplication.js