Sé que hay un montón de estos pedidos, pero he tratado de seguir cada uno sin suerte. Debe haber algún error fácil que estoy pasando por alto.
Estoy tratando de configurar S3 y Paperclip siguiendo la guía de Heroku y configurar pruebas locales siguiendo esta guía de Words and Code . Cada vez que intento generar una migración de base de datos, aparece el error:
config/environments/development.rb:62:in fetch': key not found: "S3_BUCKET_NAME" (KeyError)
Estos son mis archivos exactamente con las claves reemplazadas:
desarrollo.rb
config.paperlip_defaults = { storage: :s3, s3_credientials: { bucket: ENV.fetch('S3_BUCKET_NAME'), access_key_id: ENV.fetch('AWS_ACCESS_KEY_ID'), secret_access_key: ENV.fetch('AWS_SECRET_ACCESS_KEY'), s3_region: ENV.fetch('AWS_REGION') } }.ENV
S3_BUCKET_NAME=some-bucket-name AWS_ACCESS_KEY_ID=AAAAAABBBBBCCCCCDDDD AWS_SECRET_ACCESS_KEY=AAAAABBBBBCCCCCDDDDDEEEEE AWS_REGION=us-east-1¿Qué me estoy perdiendo?
Editar: he intentado agregar los valores ENV a mi ~/.bashrc y ~/.bash_profle como se sugiere en esta pregunta , con el mismo error.
La respuesta resultó ser bastante fácil con una gema.
dotenv-rails a mi gemfile
group :development, :test do gem 'dotenv-rails' end bundle install y listo.
Supongo que nunca me di cuenta de que el archivo .env guardado en el directorio raíz no se cargó automáticamente.