如果发生变化,需要在Rails中重新编译资产。我怎么摆脱它?

时间:2013-04-20 14:03:10

标签: ruby-on-rails ruby

我有一个Rails应用程序。以下是development.rb

的部分内容
config.assets.debug = true
config.assets.compress = false

当我更改任何js文件时,我必须致电RAILS_ENV=development rake assets:precompile查看更改。我想知道为什么?我怎么摆脱它?我只想保存javascript文件,而不是做任何额外的工作。

P.S。这不仅仅是关于javascript文件。即使我更改haml文件,我也必须调用RAILS_ENV=development rake assets:precompile

2 个答案:

答案 0 :(得分:5)

每次运行assets:precompile Rails时,都会将已编译的资产放入public/assets。问题是,如果资产管道在此处找到它,它将始终从public目录中提供资产。否则,它将搜索app/assets目录中的资产,该目录是开发中资产的适当位置。

您不应该在开发环境中预编译资产,资产预编译适用于生产环境。如果您想定期执行此操作,例如检查已编译/缩小的资产,请不要忘记在完成后删除public/assets目录。

答案 1 :(得分:3)

尝试删除public / assets目录。从您应用的目录:

rm -rf public/assets