0

我的應用程序是一個煉油廠CMS託管在heroku服務器上。我需要將這些圖像存儲在postgres DB商店中。我有一顆寶石dragonfly-activerecord,但無法將它保留在數據庫上。我想:在Postgres DB商店中存儲圖像RefineryCMS與蜻蜓

配置蜻蜓本身(config/initializers/dragonfly.rb,通常情況下):

require 'dragonfly-activerecord/store' 

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

我們需要這種寶石融入refineryCMS。如果我們能存儲在數據庫中的圖像進行CMS,這將成爲主機有很大的幫助像heroku。

回答

0

下面是與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 

這將改變設置爲數據庫中的整個系統的文件夾結構。不需要任何桶。

請記住,該系統適用於存儲較少圖像的應用程序,因爲它會在db中生成大塊,並且會根據請求時間轉換圖像。

+0

我已經通過分支gem和更新initializer目錄下的images.rb解決了這個問題。 –

0

爲什麼不使用Amazon S3存儲圖像?它適用於Heroku:http://www.refinerycms.com/guides/heroku

+0

的guidlines約女將S3那麼清晰,但其自帶的成本太高。我想要做的是將塊存儲到數據庫中,以便我可以自行管理小型應用程序系統存儲。 –