Как использовать Rails и Paperclip для хранения фотографий в Google Cloud Storage?

До сих пор я использовал Amazon S3 для хранения файлов пользователей.

Все, что нужно было сделать здесь, было:

  • укажите учетные данные Amazon S3 в ведро
  • добавить 'aws-sdk' gem в Gemfile
  • и в модели:

  has_attached_file :avatar, 
                    :styles => { :big => "100x100#", :thumb => "25x25#" },
                    :storage => :s3,
                    :s3_credentials => "#{Rails.root}/config/s3.yml",
                    :path => ":rails_root/public/users/:id/:style/:basename.:extension",
                    :url => "/users/:id/:style/:basename.:extension"

Установить адаптер Amazon S3. Это все.

Но как настроить Google cloud engine? До сих пор я нашел только туманный камень, который я мог бы использовать.

Однако как настроить модель для автоматического сохранения всех загруженных файлов на серверах Google?

Ответ 1

Хорошо, поэтому я сделал это так:

Gemfile:

gem 'fog'

конфиг /gce.yml:

development:
  provider: Google
  google_storage_access_key_id: XXX
  google_storage_secret_access_key: XXX

модель

  has_attached_file :avatar, 
                    :styles => { :big => "100x100#", :thumb => "25x25#" },
                    :storage => :fog,
                    :fog_credentials => "#{Rails.root}/config/gce.yml",
                    :fog_directory => "your bucket name",
                    :path => ":rails_root/public/users/:id/:style/:basename.:extension",
                    :url => "/users/:id/:style/:basename.:extension"