Rails应用程序不会将资产预先压缩到公共\资产中

时间:2014-03-01 02:33:29

标签: javascript ruby-on-rails ruby ruby-on-rails-4

我正在使用具有以下目录结构的Rails 4.0应用程序

-app
|->javascript
  |->page-specific
    |->myjavasript.js

在我的application.css中,我删除了所需的树指令,以确保我不会在每个页面上包含所有j。

  

// = require_tree。

现在要包含我的javasript,我在页面上使用了以下语法:

  

应用程序在我的开发环境中工作正常,但当我将更改推送到生产环境时,当浏览器调用javascript时,我得到404。

我在制作中打电话是:

  

服务器名称/ Javascript角/ page_specific / myjavasript.js

我在开发机器中调用的是:

  

服务器名称/资产/ page_specific / myjavasript.js?体= 1

我读了一些关于资产管道的内容,并在我的production.rb中添加了以下内容:

  

config.assets.precompile + = [' page_specific / myjavasript.js']

但我的public \ assets文件夹仍然不包含myjavasript.js,并继续获得404.

我有几个问题,我是否会在我的应用中添加特定于页面的(不是特定于cpntroller的)资产?

为什么它在开发而不是在生产中,有什么不同的做法?

我该如何解决?

在萤火虫中我看到:

"NetworkError: 404 Not Found - https://my-server/javascripts/page_specific/myjavasript.js"

1 个答案:

答案 0 :(得分:0)

试试吧,

config.assets.precompile += ["page-specific/*"]

然后,打开rails控制台并运行以下行,以了解您的应用资产路径下是否有page-specific个文件夹:

Rails.application.config.assets.paths 

希望有所帮助:)