【问题标题】:seed images using carrierwave使用载波的种子图像
【发布时间】:2017-12-05 08:53:55
【问题描述】:

我正在尝试创建一个使用 rails API 来显示和上传图像的 Angular 4 应用程序。使用 rails API 上传图片我决定使用carrierwave。我想知道的是如何播种一些初始图像并将网址存储在数据库中?以下是我在 db.seed 文件中所做的事情

Pictures.create!(
    image: Rails.root.join("C:/Ciaran/admin/src/assets/images/test_img1.jpg").open,
)

但是,我的 rails app 文件夹中存储的图像在哪里?我在任何地方都看不到它。

当我在 MySQL 中检查图片表中的图片列时,整个 url 不只显示 test_img1.jpg?如何让它显示完整的网址?

所以基本上如果有人对rails和carrierwave有更多了解,请向我解释一下:

  1. 对于我上面显示的代码 sn-p 是否会在我的 rails 应用程序中创建一个图像副本?因为在我为数据库播种后,我在任何应用程序文件夹中都看不到它?

  2. 为什么图片的数据库表中没有显示完整的 url,我如何让它显示完整的 url,以便我可以从我的 angular 前端访问它?

感谢您的帮助

【问题讨论】:

    标签: ruby-on-rails ruby carrierwave


    【解决方案1】:

    1 - 在您的应用文件夹中应该有一个名为 image_uploader.rb 的文件。它应该有一个def store_dir,它表明你的文件存储在哪里。

    2 - 因为完整的url是根据上面的image_uploader.rb配置文件生成的。例如,如果您的模型实例变量是 @picture

    ,您可以简单地获取 url
    @picture = Picture.first
    @picture.image.thumb.url 
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-05-21
      • 2015-06-08
      • 2013-05-01
      • 2013-03-30
      • 1970-01-01
      • 2018-07-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多