Не удалось найти конфигурацию активного хранилища в /app/config/storage.yml (RuntimeError) - PullRequest
0 голосов
/ 25 октября 2018

Мое приложение развертывается на Heroku, но каждый раз вылетает.Я не знаю почему.Я настроил Carrierwave, fog и aws для приложения, работающего на Heroku, до того, как все в порядке.Попытался выполнить те же шаги, и я получаю код ошибки h10.В консоли rails это конкретно говорит:

/ app / vendor / bundle / ruby ​​/ 2.3.0 / gems / activestorage-5.2.1 / lib / active_storage / engine.rb: 76: в `блок (2 уровня) в ': не удалось найти конфигурацию активного хранилища в /app/config/storage.yml (RuntimeError)

storage.yml 

test:
  service: Disk
  root: <%= Rails.root.join("tmp/storage") %>

local:
  service: Disk
  root: <%= Rails.root.join("storage") %>


# Use rails credentials:edit to set the AWS secrets (as aws:access_key_id|secret_access_key)
# amazon:
amazon:
  service: S3
  access_key_id: "S3_KEY"
  secret_access_key: "S3_SECRET"
  region: "us-east-1"
  bucket: "books4reviews"

production.rb

  config.active_storage.service = :amazon 

carrierwave.rb

CarrierWave.configure do |config|

config.fog_provider = 'fog/aws'

config.fog_credentials = {
  provider: 'AWS',
  aws_access_key_id: ENV['S3_KEY'],
  aws_secret_access_key: ENV['S3_SECRET'],
  region: 'us-east-1'
}
config.fog_directory  = 'books4reviews'
config.fog_public = false
config.storage = :fog
end

puma.rb

threads_count = ENV.fetch("RAILS_MAX_THREADS") { 5 }
threads threads_count, threads_count

    port        ENV.fetch("PORT") { 3000 }

   environment ENV.fetch("RAILS_ENV") { "development" }

  plugin :tmp_restart

Procfile

web: bundle exec puma -C config/puma.rb

avatar_uploader.rb

class AvatarUploader < CarrierWave::Uploader::Base
  # Include RMagick or MiniMagick support:
  # include CarrierWave::RMagick
  # Choose what kind of storage to use for this uploader:
  include CarrierWave::MiniMagick

  storage :fog

  process resize_to_fit: [500,500]

  version :small do
    process resize_to_fill: [200, 200]
  end

  version :medium do

      # change the word 'fit' to 'fill'
      process resize_to_fill: [400,600]
  end

  version :large do
    process resize_to_fill: [1000,1000]
  end

  version :thumb do
    process resize_to_fill: [50, 50]
  end

  def store_dir
    "uploads/#{model.class.to_s.underscore}/#{mounted_as}/#{model.id}"
  end

  def extension_white_list
    %w(jpg jpeg gif png)
  end

end

Я имеюустановите мои переменные env для учетных данных aws в моих переменных конфигурации heroku от терминала.Можете ли вы сказать мне, почему я получаю эту ошибку активного хранилища?Спасибо

1 Ответ

0 голосов
/ 18 июня 2019

Это может не решить вашу проблему, но у меня вместо ".yml" было ".yaml", потому что мне пришлось вручную создавать файл "/config/storage.yml" и сделать опечатку.

Надеюсь, это кому-нибудь поможет, так как я не смог найти много результатов по этой ошибке.

К вашему сведению, я думаю, что генератор не создал файл storage.yml, потому что я был на Rails 5.1, первоначально, а затем обновилдо 5,2

...