相关疑难解决方法(0)

Rails 3.1.1资产管道Heroku缓存问题

简而言之,问题是在开发模式下我们会对CSS或JS文件进行更改,但总会获得这些文件的缓存/旧版本.我所做的一切都没有任何效果.我检查了几十次配置并尝试了配置值的每个组合,但始终保持得到相同的结果:过时/缓存文件.我必须实际运行在生产模式,并在每次更改后重新启动服务器进行测试.

我花了好几天在这个问题上撕扯我的头发,看了几十个关于资产管道的stackoverflow问题,但从来没有找到解决它的问题,所以我想我会把它发布给后人.

我们使用Heroku并预编译我们的资产,因为Heroku无法为我们预编译(我们也使用了设计,这显然是heroku预编译失败的原因).因此,为了将我们的预编译资产推送到Heroku,我们必须检查它们到git.

这是问题所在.

当我们升级到Rails 3.1.1资产预编译生成的文件时,无论是否有名称中的MD5哈希.我没有想太多,并继续检查所有这些文件,所以我可以推送到heroku.一段时间后,我注意到在开发模式下缓存结果的问题.没有MD5哈希的预编译和签入资产作为静态文件从/ public/assets提供,这使我们无法看到我们在/ app/assets中进行的任何更改.

终于意识到这一点后,我运行了git rm/public/assets,一切都运行了.所以外卖是:小心检查资产到git!

把这变成一个问题:其他人如何做到这一点?我错过了一些明显的东西吗 我真正喜欢的是Heroku为我预编译我的资产,但是我收集的数据库连接错误是因为设计而失败.我曾希望Rails 3.1.1修复此问题,但事实并非如此.

ruby-on-rails heroku asset-pipeline

10
推荐指数
1
解决办法
6042
查看次数

rake资产:预编译不起作用(rails 3.1.1)

我正在部署到heroku但我看到没有提供css文件(它们也无法在heroku上找到).

我读到我需要做rake资产:首先在本地预编译然后当我这样做时,我得到:

C:\project>bundle exec rake assets:precompile --trace

** Invoke assets:precompile (first_time)
** Execute assets:precompile
rake aborted!
undefined: Unexpected token: operator (<)
  (in C:/project/app/assets/javascripts/application.js)

Tasks: TOP => assets:precompile
(See full trace by running task with --trace)
Run Code Online (Sandbox Code Playgroud)

我在application.js中什么也没有,所以我不明白错误在哪里..

application.js是

// This is a manifest file that'll be compiled into including all the files listed below.
// Add new JavaScript/Coffee code in separate files in this directory and they'll automatically
// be included in the compiled file accessible from http://example.com/assets/application.js
// It's not …
Run Code Online (Sandbox Code Playgroud)

windows rake assets heroku ruby-on-rails-3

7
推荐指数
3
解决办法
7450
查看次数