rails 3.1一些资产未在生产时进行预编译

bre*_*ter 6 ruby-on-rails-3.1 asset-pipeline

我遇到了Heroku的问题,显示我的'places.js'没有预编译,即使我在雪松堆栈上运行,并且在slug编译期间它正在运行rake预编译任务.所以我尝试在本地运行它rake assets:precompile RAILS_ENV=production,事实上rails并没有预编译我的/app/assets/javascripts/places.js.coffee.erb资产.

production.rb正在使用默认的rails 3.1配置,我甚至尝试从资产中删除.erb,但无济于事.

我还想过,因为我的places.js.coffee.erb资产不包含在链轮清单中(我手动将其包含在我的应用程序中),也许它只预编译清单中的资产.在清单中要求它也不起作用.

只有我application.js.coffee和`application.css正在预编译(有和没有摘要).

我发现的唯一问题可能是用于匹配资产的差的正则表达式,但默认值(?:\/|\\|\A)application\.(css|js)$与我的资产不匹配,因此应该包含它.

我不知道如何从这里排除故障.一切都是默认的.关于这里可能发生什么的任何想法?

Ric*_*lse 10

首先,如果您希望文件在不在清单中时进行编译,则需要将其添加到预编译配置选项中:

config.assets.precompile += ['places.js']

其次,您可以编辑您的问题以包含您的清单 - 这可能是语法问题.如果我能看到问题可能是什么,我会编辑这个答案.