我正在尝试创建一个使用rails API来显示和上传图像的Angular 4应用。使用rails API上传图像我决定使用carrierwave。我想知道的是如何播种一些初始图像并将URL存储在数据库中?以下是我在db.seed文件中所做的事情
Pictures.create!(
image: Rails.root.join("C:/Ciaran/admin/src/assets/images/test_img1.jpg").open,
)
但是我的rails app文件夹中存储的图像在哪里?我什么都看不到。
当我在MySQL中检查图片列中的图片表时,整个网址只显示test_img1.jpg?如何让它显示完整的网址?
所以基本上如果有人了解有关rails和carrierwave的更多信息,请向我解释:
对于我上面显示的代码片段,是否会将该图像副本创建到我的rails应用程序中?因为我在播种数据库后没有在任何应用文件夹中看到它?
为什么数据库表中没有显示完整的网址以供图片显示,如何让它显示完整的网址,以便我可以从我的角度前端访问它?
感谢您的帮助
答案 0 :(得分:0)
1 - 在你的app文件夹中应该有一个名为image_uploader.rb的文件。并且它应该有一个def store_dir
,表示您的文件存储在哪里。
2 - 因为基于上面的image_uploader.rb配置文件生成了完整的URL。例如,如果模型实例变量是@picture
,则可以简单地获取URL@picture = Picture.first
@picture.image.thumb.url