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