我已经将我的展览项目部署到Heroku。我的主页显示了一些图片,这些图片还没有加载到heroku .....上我的后端认证页面,只有我可以访问,不会接受我的user/pass。
图像存储在应用程序/资产/图片
给你几点建议
Heroku运行一个临时文件系统,这实际上意味着每次推送新部署时都会覆盖您的文件。
这对于基于asset
的图像无关紧要,但如果您使用Paperclip
之类的工具来存储动态上传的图像,则需要确保能够持久化数据(使用S3
之类的工具)
,
Precompilation
在您的情况下,问题可能与预编译过程有关:
在生产环境中,Sprockets使用指纹识别方案上面列出。默认情况下,Rails假定资产已被预编译并且将被web服务器作为静态资产。
预编译资产时,Rails应用程序将从/public
目录而不是/assets
目录提供资产。这个超级很重要,因为它意味着如果你使用"静态"CSS引用引用资源,它根本不起作用,特别是在Heroku
最好的解决方案是使用一个Rails的preprocessors
(SCSS
/SASS
) &使用asset path helpers
之一来引用动态资产位置:
#app/assets/stylesheets/application.css.scss
body {
background: asset_url("your_image.png");
}
,
认证
您的身份验证可能与您的数据库有问题
Heroku的一个问题是,由于它使用的数据库与您的本地系统不同,您必须用所需的数据填充它才能使其工作。
无法正确加载数据库是一个常见的问题,错过了许多不同的迁移。我的建议如下:
$ heroku run rake db:migrate
在此之后,您需要确保您能够在应用程序