Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/372.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_Ruby On Rails_Ruby_Ruby On Rails 4 - Fatal编程技术网

Javascript Rails应用程序未将资产预编译为公共\资产

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时,会得到

我正在开发一个具有以下目录结构的Rails 4.0应用程序

-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 

希望有帮助:)

您跳过了添加错误日志。请检查我的答案,并告诉我它是否有效。