Не удалось инициализировать Cloudinary Ruby на рельсах

#ruby-on-rails #ruby #cloudinary

Вопрос:

Я хотел бы инициализировать Cloudinary с помощью Ruby on Rails. Но при запуске произошла ошибка rake -t .

 NoMethodError: undefined method `[]' for nil:NilClass
/config/initializers/cloudinary.rb:2:in `block in <main>'
 

конфигурация/инициализаторы/cloudinary.rb

 Cloudinary.config do |config|
  config.cloud_name = Rails.application.credentials[Rails.env.to_sym][:cloudinary][:cloud_name]
  config.api_key = Rails.application.credentials[Rails.env.to_sym][:cloudinary][:api_key]
  config.api_secret = Rails.application.credentials[Rails.env.to_sym][:cloudinary][:api_secret]
end
 

Я проверил, и правильное облако cloud_name api_key , и api_secret все готово. Обычно я использую s3, но для описания изображений я использую Cloudinary.

Комментарии:

1. Можете ли вы поделиться тем, как вы устанавливаете секреты (а не фактические значения)? Эта [Rails.env.to_sym] часть обычно не нужна при настройке по умолчанию, см.: edgeguides.rubyonrails.org/security.html#custom-credentials

2. Спасибо вам за ваш комментарий. Как это. Rails.application.credentials[Rails.env.to_sym][:cloudinary] => {:cloud_name=> XXXXXXXXXX, :api_key=> XXXXXXXX, :api_secret=>XXXXXXXXXXXXXX}