如何在轨道中读取来自MongoDB的图像



我正在添加carrierwave_mongoid来存储图像,我已经将图像保存到mongo中我的数据是这样的:

 { "contentType" : "image/jpeg", "length" : 512659, "chunkSize" : 4194304, "uploadDate" : ISODate("2013-01-26T00:00:00Z"), "md5" : "3d44aa8fcfba7cae34fe9a592407410b", "filename" : "uploads/deal/image/295/15a11db8e441c610330af53a77e2b136.jpg", "_id" : 5 }

我有一个故事模型:

class Deal
  include Mongoid::Document
  include Mongoid::Timestamps
  field :image,        :type => String
  field :status,       :type => Integer
  mount_uploader :image, ImageUploader
end

我的图片上传器代码在这里:

class ImageUploader < CarrierWave::Uploader::Base
...
  def store_dir
    "uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}"
  end
end

现在我想显示来自MongoDB的图像,并且在我拥有的视图中

<%= image_tag(@deal.image.url)  %>

最后,图像不会显示在视图中,并得到以下错误:

ActionController::RoutingError (No route matches [GET] "/assets/uploads/deal/image/295/15a11db8e441c610330af53a77e2b136.jpg"):

我想知道如何通过carrierwave_mongoid读取图像

ActionController::RoutingError表示您的 Rails 应用程序无法处理此类请求。

定义到控制器的路由以查询 gridfs 并发送图像。此外,您可能需要将 Nginx 配置为不将此类请求作为静态文件进行处理。

相关内容

  • 没有找到相关文章

最新更新