我刚刚在Heroku上推送了我的第一个应用程序,看来我的精灵图片还没有上传到服务器。你有什么可能发生的线索吗?
例如: 我的文件是 app / assets / images / app_photo.png
我的CSS文件使用:background: url("app_photo.png");
在我的应用中,我找到了指向我的精灵的链接,但是当我点击它时, herokuapp.com/assets/app_photo.png 路径呈现“您正在寻找的页面没有”存在“。
以下是我推送到heroku的日志:
-----> Writing config/database.yml to read from DATABASE_URL
-----> Preparing app for Rails asset pipeline
Detected manifest file, assuming assets were compiled locally
-----> Discovering process types
Procfile declares types -> (none)
Default types for Ruby/Rails -> console, rake, web, worker
-----> Compiled slug size: 37.9MB
-----> Launching... done, v17
当我用background: url("app_photo.png");
替换background: image-url("app_photo.png");
时,这是预编译的css:
.app_photo{background:url(/assets/app_photo-f095c78ecb698e651f262b36a593dc8e.png);height:64px;width:64px;text-indent:-9999px}
答案 0 :(得分:2)
使用Rails资产管道时,应使用以下内容在 SCSS 文件中引用您的资产:
image-url("your_image.png")
有关详细信息,请参阅Rails Asset Pipeline documentation。
使用Heroku你有3个选择:
有关详细信息,请参阅heroku's documentation。
在config/production.rb
文件中:
config.serve_static_assets = true
Heroku Cedar架构无法提供静态资产。