簡體   English   中英

Rails 6 heroku 預編譯資產失敗

[英]Rails 6 heroku Precompiling assets failed

在 heroku 上使用 rails 和 omniauth 編譯失敗

remote: -----> Preparing app for Rails asset pipeline
remote:        Running: rake assets:precompile
remote:        rake aborted!
remote:        NoMethodError: undefined method `[]' for nil:NilClass
remote:        /tmp/build_f21d4b6cc71ba2ef116eca0b20a72d4b/config/initializers/devise.rb:263:in `block in <main>'
remote:        /tmp/build_f21d4b6cc71ba2ef116eca0b20a72d4b/vendor/bundle/ruby/2.7.0/gems/devise-4.7.1/lib/devise.rb:311:in `setup'
remote:        /tmp/build_f21d4b6cc71ba2ef116eca0b20a72d4b/config/initializers/devise.rb:5:in `<main>'

我按照 devise.rb 到 263,這是我添加 twitter omniauth 的地方

config.omniauth :twitter, Rails.application.credentials.twitter[:app_id], Rails.application.credentials.twitter[:app_secret]

我將我的憑據存儲在 config/credentials.yml.enc

該問題是由於無法在生產中訪問 credentials.yml 引起的。 我們可以在生產中訪問主鍵值,因為它沒有被提交。

我通過在 Heroku 中添加 master.key-value 解決了這個問題,在設置下,config vars master key

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM