【问题标题】:how I configurate carrierwave with mongoid (3.0.17)?如何使用 mongoid (3.0.17) 配置载波?
【发布时间】:2013-01-24 07:04:19
【问题描述】:

这是我的宝石清单,

  • mongo (1.8.2)
  • mongoid (3.0.17)
  • mongoid-grid_fs (1.7.0)
  • 载波 (0.8.0)
  • carrierwave-mongoid (0.4.0)

我尝试生成上传图片,但它不起作用,carrierwave.rb 看起来像这样:

require 'carrierwave/mongoid'
CarrierWave.configure do |config|
    config.grid_fs_database = Mongoid::Config.sessions[:default]
    config.grid_fs_port = 27017
    config.grid_fs_host = '127.0.0.1'
    config.storage = :grid_fs
end

但是会报错:

/config/initializers/carrierwave.rb:3:in `block in <top (required)>': undefined method `grid_fs_database=' for CarrierWave::Uploader::Base:Class (NoMethodError)
.....

有解决办法吗?

谢谢

【问题讨论】:

    标签: mongoid carrierwave


    【解决方案1】:

    我快速查看了the source for carrierwave-mongoid,您指定的配置选项(grid_fs_databasegrid_fs_portgrid_fs_host)似乎不是有效选项 - 因此出现了错误。

    我的理解是carrierwave-mongoid是从Mongoid的配置中派生出来的mongoDB配置,所以不需要再指定了。您的配置应如下所示:

    require 'carrierwave/mongoid'
    CarrierWave.configure do |config|
        config.storage = :grid_fs
        config.grid_fs_access_url = "/uploads" # or whatever you'd like the HTTP path to be
    end
    

    【讨论】:

    • 谢谢,我修改了carrierwave.rb 文件,就像你说的那样,它的工作。 Arrierwave-mongoid通过一个mongoid.yml导出它的mongoDB配置,但是我想连接另一个grid_fs数据库,我该如何配置?
    • 我不相信carrierwave-mongoid支持它。您可以考虑在 github 上打开一个问题并提出功能请求或与项目的维护者讨论该想法。
    猜你喜欢
    • 2011-09-07
    • 2023-03-19
    • 2013-04-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多