【问题标题】:Storing Images in Postgres DB Store RefineryCMS with Dragonfly使用 Dragonfly 在 Postgres DB Store RefineryCMS 中存储图像
【发布时间】:2016-10-08 08:40:33
【问题描述】:

我的应用程序是托管在 heroku 服务器上的炼油厂CMS。我需要将图像存储在 postgres 数据库存储中。我得到了一颗宝石dragonfly-activerecord,但无法将其保存在数据库中。我试过了:

配置 Dragonfly 本身(通常在 config/initializers/dragonfly.rb 中):

require 'dragonfly-activerecord/store'

Dragonfly.app.configure do
 # ... your existing configuration here
 datastore Dragonfly::ActiveRecord::Store.new

我们需要将此 gem 集成到refineryCMS 中。如果我们可以将图像存储在cms 的数据库中,这将对像heroku 这样的主机有很大帮助。

【问题讨论】:

    标签: postgresql ruby-on-rails-4 heroku refinerycms dragonfly-gem


    【解决方案1】:

    您为什么不直接使用 Amazon S3 来存储图像?它适用于 Heroku:http://www.refinerycms.com/guides/heroku

    【讨论】:

    • 亚马逊 s3 的指导方针非常明确,但它也有成本。我想要做的是将块存储到数据库中,以便我可以自行管理数据库中的小型应用程序系统存储。
    【解决方案2】:

    这是与 dragonfly-activerecord fork 一起的解决方案。只要去config/initializers/refinery/images.rb 这是执行此操作的代码。先按照dragonfly-activerecord fork的步骤

    在 Gemfile 中:

    gem 'dragonfly-activerecord' , git: "git://github.com/arpit-clarion/dragonfly-activerecord.git"

    bundle

    rails generate migration add_dragonfly_storage

    在迁移文件中添加此代码

    require 'dragonfly-activerecord/migration'
    
    class AddDragonflyStorage < ActiveRecord::Migration
      include Dragonfly::ActiveRecord::Migration
    end
    

    运行 rake db:migrate 并添加以下代码:

    config/initializers/refinery/images.rb
    # encoding: utf-8
    require 'dragonfly-activerecord/store'
    Refinery::Images.configure do |config|
      #...... Your configuration ....
      config.custom_backend_class = 'Dragonfly::ActiveRecord::Store'
      config.custom_backend_opts = {}
      #...... Your configuration ....
    end
    

    这会将整个系统文件夹结构设置为数据库。不需要任何水桶。

    请记住,该系统适用于那些需要存储的图像较少的应用程序,因为它会在数据库中生成大块并在请求时转换图像。

    【讨论】:

    • 我已经通过 fork gem 和更新初始化目录下的 images.rb 解决了这个问题。
    【解决方案3】:

    太棒了!您能否在 Refinery CMS 存储库中编写此解决方案作为指南? https://github.com/refinery/refinerycms/tree/master/doc/guides

    【讨论】:

    • 我已经提出了这个改变。谢谢@Brice
    猜你喜欢
    • 1970-01-01
    • 2011-07-25
    • 2013-12-04
    • 1970-01-01
    • 1970-01-01
    • 2014-10-31
    • 1970-01-01
    • 2018-08-26
    • 2021-04-30
    相关资源
    最近更新 更多