如果预编译开发,如何在开发期间访问资产

时间:2012-07-30 19:27:47

标签: ruby-on-rails configuration asset-pipeline

我最近向Heroku部署了一个项目的第一次迭代。因为我预编译,所以在开发过程中使用的所有资产现在都在公共/资产和公共/系统文件夹中。

我是开发过程中访问资产的两个选项aware。默认选项似乎是允许public / assets文件覆盖我的app / assets文件。但是,如果我这样做,我在app / assets中所做的任何CSS更改都不会反映出来。

备选方案是仅通过以下方式访问app / assets文件夹:

config.serve_static_assets = false

然而,通过这样做,我在开发过程中看不到任何图像,因为它们已经预编译并移动到公共/系统

有没有办法从app / assets访问我的CSS / JS文件,但仍然从公共/系统加载我的图像?

或者我应该从public / assets文件夹中完成所有CSS / JS开发?任何反馈都会非常感激。

1 个答案:

答案 0 :(得分:0)

部署后,我喜欢运行

rake assets:clean

去除public/assets中的编译/压缩资产。这让我们的Rails回顾了开发模式下的app/assets目录,因为我的资产都不在public/assets中。

另外,除非您的情况特殊,否则您应该将图片放入app/assets/images,而不是public/systemrake assets:precompile也将图片推送到public/assets。执行此操作时,您需要在image_path(...)文件中使用___.css.scss,以便在预编译期间使用为图像资源生成的散列文件名正确更新路径。

最后,看来通过 this Rails Guide 阅读会给你带来很多好处。