Javascript Rails应用程序未将资产预编译为公共\资产
我正在开发一个具有以下目录结构的Rails 4.0应用程序Javascript Rails应用程序未将资产预编译为公共\资产,javascript,ruby-on-rails,ruby,ruby-on-rails-4,Javascript,Ruby On Rails,Ruby,Ruby On Rails 4,我正在开发一个具有以下目录结构的Rails 4.0应用程序 -app |->javascript |->page-specific |->myjavasript.js 在我的application.css中,我删除了必需的树指令,以确保我不会在每个页面上包含所有的js //=需要一棵树 现在,为了包含我的javasript,我在页面上使用了以下语法: 该应用程序在我的开发环境中运行良好,但当我将更改推送到生产环境时,当我调用浏览器获取javascript时,会得到
-app
|->javascript
|->page-specific
|->myjavasript.js
在我的application.css中,我删除了必需的树指令,以确保我不会在每个页面上包含所有的js
//=需要一棵树
现在,为了包含我的javasript,我在页面上使用了以下语法:
该应用程序在我的开发环境中运行良好,但当我将更改推送到生产环境时,当我调用浏览器获取javascript时,会得到404
我在生产中的要求是:
服务器名称/javascripts/page_-specific/myjavasript.js
我在开发机器中的呼叫是:
服务器名称/assets/page_-specific/myjavasript.js?body=1
我读了一些关于资产管道的内容,并在我的production.rb中添加了以下内容:
config.assets.precompile+=['page\u specific/myjavasript.js']
但我的public\assets文件夹仍然不包含myjavasript.js,并继续使用404
我有几个问题,我应该向我的应用程序添加特定于页面(而不是特定于cpcontroller)的资产吗
为什么它在开发中工作而不是在生产中,有什么不同的做法
我怎样才能修好它
在firebug中,我看到:
"NetworkError: 404 Not Found - https://my-server/javascripts/page_specific/myjavasript.js"
试试看
config.assets.precompile += ["page-specific/*"]
然后,打开rails控制台并运行下一行,以了解应用程序资产路径下是否存在特定于页面的文件夹:
Rails.application.config.assets.paths
希望有帮助:)您跳过了添加错误日志。请检查我的答案,并告诉我它是否有效。