0

我最近将一个项目的第一次迭代部署到 Heroku。因为我进行了预编译,所以我在开发过程中使用的所有资产现在都在 public/assets 和 public/system 文件夹中。

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

另一种选择是通过以下方式仅访问 app/assets 文件夹:

config.serve_static_assets = false

但是,通过这样做,我在开发过程中看不到我的任何图像,因为它们已经被预编译并移动到 public/system

有没有办法从应用程序/资产访问我的 CSS/JS 文件,但仍然从公共/系统加载我的图像?

还是我应该在 public/assets 文件夹中完成我所有的 CSS/JS 开发?任何反馈将不胜感激。

4

1 回答 1

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文件中使用以允许使用在预编译期间为图像资产生成的散列文件名正确更新路径。

最后,阅读这份 Rails 指南似乎对你有很大帮助。

于 2012-07-30T19:37:24.933 回答