Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用单个脚本文件和rails资源_Javascript_Jquery_Ruby On Rails_Ruby On Rails 4_Asset Pipeline - Fatal编程技术网

Javascript 使用单个脚本文件和rails资源

Javascript 使用单个脚本文件和rails资源,javascript,jquery,ruby-on-rails,ruby-on-rails-4,asset-pipeline,Javascript,Jquery,Ruby On Rails,Ruby On Rails 4,Asset Pipeline,我的应用程序使用了jquery的旧版本,我想在我的应用程序中使用新的jquery版本进行POC,以显示一些好处,同时重写一些后端 因此,我所做的是在控制器中添加了一个名为poc的布局,并从poc布局中删除了应用程序javascript标记。但是我把这个放在了poc布局中: = yield :footer_js 这样我就可以在单个页面上加载javascript,我的做法如下: - content_for :footer_js do = javascript_include_tag 'new_

我的应用程序使用了jquery的旧版本,我想在我的应用程序中使用新的jquery版本进行POC,以显示一些好处,同时重写一些后端

因此,我所做的是在控制器中添加了一个名为
poc
的布局,并从poc布局中删除了应用程序javascript标记。但是我把这个放在了
poc
布局中:

= yield :footer_js
这样我就可以在单个页面上加载javascript,我的做法如下:

- content_for :footer_js do
  = javascript_include_tag 'new_jquery'
在我的新页面上,只有jquery加载,我将其添加到
app/assets/javascript/poc/new_jquery.js
中,它在我的本地机器(开发环境)上运行良好

然而,一旦我将其部署到生产环境中,情况就不同了,没有任何东西在加载。我的脚本位于
app/assets/javascript/poc
下面是
new_jquery.js
本身

然后是
app/assets/javascript/poc/services
app/assets/javascript/validations
下的文件,我在视图中单独加载这些文件

问题:
我这样做对吗?如果是,我如何让这些文件在生产中使用资产管道?或者,如果我做得不对,那么在生产环境中测试具有独立依赖项的独立页面的正确方法是什么?

我所做的正如答案中所述,我最终使用了新的布局,而不是在视图中单独包含javascript文件,我在
application.js
旁边的
app/assets/javascript
中添加了一个
poc.js
,并引用了我从
poc.js
中需要的所有js文件,并将
poc.js
包含在布局中

我还在application.rb中添加了
poc.js

Rails.application.config.assets.precompile += ['admin.js', 'admin.css', 'poc.js']

工作得很好

你试过
javascript\u include\u标签'poc/new\u jquery'
?当我使用
new\u jquery
时,它已经在本地主机上工作了。我很确定这不会对编译产生任何影响,但我会尝试一下。这背后有什么原因吗?是的,如果它在本地主机上运行,这就没有什么意义了,我只是想看看是否有什么东西突然出现。实际上,我打赌在生产环境中会出现预编译问题(由于
production.rb
或诸如此类的配置错误,文件未预编译,未找到)。您是否使用
rake assets:precompile
在本地编译了资产?不是,你能试试吗?另外,当你加载生产站点时,你的浏览器上是否有一个404,用于特定的js文件?