我最近向Heroku部署了一个项目的第一次迭代。因为我预编译,所以在开发过程中使用的所有资产现在都在公共/资产和公共/系统文件夹中。
我是开发过程中访问资产的两个选项aware。默认选项似乎是允许public / assets文件覆盖我的app / assets文件。但是,如果我这样做,我在app / assets中所做的任何CSS更改都不会反映出来。
备选方案是仅通过以下方式访问app / assets文件夹:
config.serve_static_assets = false
然而,通过这样做,我在开发过程中看不到任何图像,因为它们已经预编译并移动到公共/系统
有没有办法从app / assets访问我的CSS / JS文件,但仍然从公共/系统加载我的图像?
或者我应该从public / assets文件夹中完成所有CSS / JS开发?任何反馈都会非常感激。
答案 0 :(得分:0)
部署后,我喜欢运行
rake assets:clean
去除public/assets
中的编译/压缩资产。这让我们的Rails回顾了开发模式下的app/assets
目录,因为我的资产都不在public/assets
中。
另外,除非您的情况特殊,否则您应该将图片放入app/assets/images
,而不是public/system
。 rake assets:precompile
也将图片推送到public/assets
。执行此操作时,您需要在image_path(...)
文件中使用___.css.scss
,以便在预编译期间使用为图像资源生成的散列文件名正确更新路径。
最后,看来通过 this Rails Guide 阅读会给你带来很多好处。