Heroku不显示图像,也不接受我的身份验证用户/通行证访问.我如何访问我的图像



我已经将我的展览项目部署到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
在此之后,您需要确保您能够在应用程序
中创建相关的详细信息。

最新更新