使用 Dragonfly 在 Postgres DB Store RefineryCMS 中存储图像
Storing Images in Postgres DB Store RefineryCMS with Dragonfly
我的应用程序是一个托管在 heroku 服务器上的 refineryCMS。我需要将图像存储在 postgres 数据库存储中。我有一个 gem 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 这样的主机有很大帮助。
为什么不直接使用 Amazon S3 来存储图像?它与 Heroku 配合得很好:http://www.refinerycms.com/guides/heroku
这是 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
这会将整个系统文件夹结构更改为数据库。不需要任何水桶。
请记住,此系统适用于那些需要存储的图像较少的应用程序,因为它会在数据库中生成大块并根据请求时间转换图像。
太棒了!您能否将此解决方案编写为 Refinery CMS 存储库中的指南? https://github.com/refinery/refinerycms/tree/master/doc/guides
我的应用程序是一个托管在 heroku 服务器上的 refineryCMS。我需要将图像存储在 postgres 数据库存储中。我有一个 gem 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 这样的主机有很大帮助。
为什么不直接使用 Amazon S3 来存储图像?它与 Heroku 配合得很好:http://www.refinerycms.com/guides/heroku
这是 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
这会将整个系统文件夹结构更改为数据库。不需要任何水桶。
请记住,此系统适用于那些需要存储的图像较少的应用程序,因为它会在数据库中生成大块并根据请求时间转换图像。
太棒了!您能否将此解决方案编写为 Refinery CMS 存储库中的指南? https://github.com/refinery/refinerycms/tree/master/doc/guides