我是 Rails 和编码的新手,所以这可能是一个非常基本的问题......
今天晚上我正在开发一个应用程序并更改了图像上传器,以便它将两种不同大小的图像保存到数据库中 - 一个较小的用于在页面上显示,一个较大的版本用于在灯箱(彩盒)中使用。
我遇到的问题是用户在开发和生产中都已经存在于数据库中。幸运的是,我使用 Faker gem 创建了这些用户,而在生产中,我只是发布了一些东西来检查它在生产中的样子。
因此,对于已经在数据库中的图像,它们仅保存为较小的版本,从而使灯箱显示损坏的图像(因为不存在较大的版本)。
因为我可以这样做而不会丢失任何重要的东西,所以我重置了数据库,在开发中我再次运行了 Faker rake,在生产中我只是重新注册并再次上传了一些我自己的照片。(我非常肯定这不是最佳实践......但我真的刚刚进入学习的第二个月......)
我的问题是:有没有办法重做数据库,以便那些原本在那里的图像可以保留下来,并且只是用两个版本重新保存到数据库中。
或者,有没有一种方法只需要保存一个版本的图像,并且灯箱/彩盒可以操纵原始尺寸的图像以呈现我想要的尺寸?例如,也许是当用户上传图像时,图像以较大的版本保存到数据库中,然后对于“缩略图”,我对其进行编码,以便将照片缩小到我想要显示的大小这页纸??
作为参考,这里是应用程序的 Heroku 部署的链接:
http://desolate-waters-6166.herokuapp.com/
我将此应用程序用作我自己的示例应用程序,用于尝试不同的事情并学习如何在没有太大后果的情况下做某事。
提前致谢!如果我需要提供更多信息,请告诉我。我还可以链接这个应用程序的 github 存储库。