我的应用程序使用旧版本的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
下的文件会在视图中单独加载。
问题: 我这样做是对的吗?如果是,我如何让这些文件在资产管道生产中工作?或者,如果我以错误的方式执行此操作,那么在生产中测试具有独立依赖关系的隔离页面的正确方法是什么?
答案 0 :(得分:0)
我所做的是按照我最终使用新布局的答案中所述,但不是在视图中单独包含javascript文件,而是在poc.js
旁边添加了app/assets/javascript
application.js
,并在布局中引用了poc.js
所需的所有js文件并包含poc.js
。
我还在application.rb中添加了poc.js
:
Rails.application.config.assets.precompile += ['admin.js', 'admin.css', 'poc.js']
工作得很好!