[英]Rails 6 heroku Precompiling assets failed
compile fail with rails and omniauth on heroku在 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>'
I follow the devise.rb to 263 which is where I add twitter omniauth我按照 devise.rb 到 263,这是我添加 twitter omniauth 的地方
config.omniauth :twitter, Rails.application.credentials.twitter[:app_id], Rails.application.credentials.twitter[:app_secret]
I am storing my credentials stored in config/credentials.yml.enc我将我的凭据存储在 config/credentials.yml.enc
The problem was caused by not being able to access the credentials.yml in production.该问题是由于无法在生产中访问 credentials.yml 引起的。 We could access the master key value in production as it is not committed.我们可以在生产中访问主键值,因为它没有被提交。
I fixed the issue by adding the master.key-value in Heroku, under settings, config vars master key我通过在 Heroku 中添加 master.key-value 解决了这个问题,在设置下,config vars master key
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.