Learn Ruby on Rails kitabıyla birlikte çalışarak, bir e-tabloya form gönderimini kaydetmek için Google Drive'a bağlandığınız öğretmenin bölümünde takılıyorum.Ortam değişkenleri Rails uygulamasında geçersiz (Google Drive'a bağlanamıyor)
Rails.application.secrets.email_provider_username
ve Rails.application.secrets.email_provider_password
nil olduğu için w/Google kimlik doğrulaması yapılamıyor. Daha spesifik olarak, raylar uygulamam ortam değişkenlerimden hiçbirini görmüyor gibi görünüyor.
Ben değişkenler düzgün ayarlanmış doğrulandıktan:
learn-rails :001 > ENV["GMAIL_USERNAME"]
=> "[email protected]"
Ama Raylar yoluyla ulaşmaya çalışıyorsunuz:
learn-rails :001 > Rails.application.secrets.email_provider_username
=> nil
The
ynkwinl-ujurvt0:learn-rails katie$ printenv | grep GMAIL_USERNAME
[email protected]
Ve konsoldan
İlgili satır: secrets0l:email_provider_username: <%= ENV["GMAIL_USERNAME"] %>
Bu konuda bir saat boyunca takıldım ve bir cevap bulamıyorum (bu konuyla ilgili önceki soru biraz farklı bir senaryoda ele alınmıştır).
Kullanıcı adımı/parolamı secrets.yml
dosyasına kodlayarak sabit bir şekilde çalıştım, ancak gelecekte başvurmak üzere olup bitenleri anlamak istiyorum. referans için
Full 'secrets.yml' file:
development:
email_provider_username: <%= ENV["GMAIL_USERNAME"] %>
email_provider_password: <%= ENV["GMAIL_PASSWORD"] %>
domain_name: example.com
mailchimp_api_key: <%= ENV["MAILCHIMP_API_KEY"] %>
mailchimp_list_id: <%= ENV["MAILCHIMP_LIST_ID"] %>
owner_email: <%= ENV["OWNER_EMAIL"] %>
secret_key_base: very_long_random_string
test:
secret_key_base: very_long_random_string
# Do not keep production secrets in the repository,
# instead read values from the environment.
production:
email_provider_username: <%= ENV["GMAIL_USERNAME"] %>
email_provider_password: <%= ENV["GMAIL_PASSWORD"] %>
domain_name: <%= ENV["DOMAIN_NAME"] %>
mailchimp_api_key: <%= ENV["MAILCHIMP_API_KEY"] %>
mailchimp_list_id: <%= ENV["MAILCHIMP_LIST_ID"] %>
owner_email: <%= ENV["OWNER_EMAIL"] %>
secret_key_base: <%= ENV["SECRET_KEY_BASE"] %>
Bir secrets.yml içeriği ekleyebilir misiniz? – intale
Orijinal yayına eklendi. – Katie
Hiçbir şey akla geliyor. Tek test env'inde bu anahtarlar yoktur. Doğru ortamı yüklediğinizden emin olmak için raylar konsolunuzda 'Rails.env' çalıştırılabilir mi? – intale