Ruby on rails TypeError(没有将nil隐式转换为字符串)Rails在生产环境中设计jwt gem

Ruby on rails TypeError(没有将nil隐式转换为字符串)Rails在生产环境中设计jwt gem,ruby-on-rails,ruby,devise,rubygems,jwt,Ruby On Rails,Ruby,Devise,Rubygems,Jwt,将ENV['designe_JWT_SECRET_KEY']返回生产控制台中的秘密密钥 designe_JWT_SECRET_密钥通过Centos上的导出命令设置 designe.rb文件 config.jwt do |jwt| jwt.secret = ENV['DEVISE_JWT_SECRET_KEY'] jwt.dispatch_requests = [ ['POST', %r{^/users/sign_in.json$}] ] jwt.re

将ENV['designe_JWT_SECRET_KEY']返回生产控制台中的秘密密钥

designe_JWT_SECRET_密钥通过Centos上的导出命令设置

designe.rb文件

 config.jwt do |jwt|
    jwt.secret = ENV['DEVISE_JWT_SECRET_KEY']
    jwt.dispatch_requests = [
      ['POST', %r{^/users/sign_in.json$}]
    ]
    jwt.revocation_requests = [
      ['DELETE', %r{^/logout$}]
    ]
    jwt.expiration_time = 1.day.to_i
  end
在登录请求中获取此错误


==> log/production.log <==
I, [2020-03-29T11:15:05.149855 #18692]  INFO -- : [9f71ec3f-d4ac-4efa-9ba1-09276c1e5f1c] Started POST "/users/sign_in.json" for 110.93.200.118 at 2020-03-29 11:15:05 +0000
I, [2020-03-29T11:15:05.150525 #18692]  INFO -- : [9f71ec3f-d4ac-4efa-9ba1-09276c1e5f1c] Processing by Devise::SessionsController#create as JSON
I, [2020-03-29T11:15:05.150604 #18692]  INFO -- : [9f71ec3f-d4ac-4efa-9ba1-09276c1e5f1c]   Parameters: {"user"=>{"email"=>"test@example.com", "password"=>"[FILTERED]"}, "session"=>{"user"=>{"email"=>"test@example.com", "password"=>"[FILTERED]"}}}
D, [2020-03-29T11:15:05.152091 #18692] DEBUG -- : [9f71ec3f-d4ac-4efa-9ba1-09276c1e5f1c]   User Load (0.3ms)  SELECT  "users".* FROM "users" WHERE "users"."email" = $1 ORDER BY "users"."id" ASC LIMIT $2  [["email", "test@example.com"], ["LIMIT", 1]]
D, [2020-03-29T11:15:05.325258 #18692] DEBUG -- : [9f71ec3f-d4ac-4efa-9ba1-09276c1e5f1c]   Clinic Load (1.4ms)  SELECT  "clinics".* FROM "clinics" WHERE "clinics"."id" = $1 LIMIT $2  [["id", 3], ["LIMIT", 1]]
I, [2020-03-29T11:15:05.326744 #18692]  INFO -- : [9f71ec3f-d4ac-4efa-9ba1-09276c1e5f1c] Completed 500 Internal Server Error in 176ms (ActiveRecord: 1.7ms)
F, [2020-03-29T11:15:05.327800 #18692] FATAL -- : [9f71ec3f-d4ac-4efa-9ba1-09276c1e5f1c]   
F, [2020-03-29T11:15:05.328843 #18692] FATAL -- : [9f71ec3f-d4ac-4efa-9ba1-09276c1e5f1c] TypeError (no implicit conversion of nil into String):
F, [2020-03-29T11:15:05.329247 #18692] FATAL -- : [9f71ec3f-d4ac-4efa-9ba1-09276c1e5f1c]   
F, [2020-03-29T11:15:05.329333 #18692] FATAL -- : [9f71ec3f-d4ac-4efa-9ba1-09276c1e5f1c] jwt (2.2.1) lib/jwt/algos/hmac.rb:14:in `digest'
[9f71ec3f-d4ac-4efa-9ba1-09276c1e5f1c] jwt (2.2.1) lib/jwt/algos/hmac.rb:14:in `sign'
[9f71ec3f-d4ac-4efa-9ba1-09276c1e5f1c] jwt (2.2.1) lib/jwt/signature.rb:37:in `sign'
[9f71ec3f-d4ac-4efa-9ba1-09276c1e5f1c] jwt (2.2.1) lib/jwt/encode.rb:57:in `encode_signature'
[9f71ec3f-d4ac-4efa-9ba1-09276c1e5f1c] jwt (2.2.1) lib/jwt/encode.rb:34:in `encoded_signature'
[9f71ec3f-d4ac-4efa-9ba1-09276c1e5f1c] jwt (2.2.1) lib/jwt/encode.rb:20:in `segments'
[9f71ec3f-d4ac-4efa-9ba1-09276c1e5f1c] jwt (2.2.1) lib/jwt.rb:24:in `encode'

似乎,我错过了生产块中的gem'dotenv rails'

只需两步即可修复

gem 'dotenv-rails', :groups => [:development, :test, :production]

似乎,我错过了生产块中的gem'dotenv rails'

只需两步即可修复

gem 'dotenv-rails', :groups => [:development, :test, :production]


您是否在使用rails 6?rails 5.2,我已通过将.env放入共享文件夹中解决了此问题。在这种情况下,请编写您对此问题的详细答案,以便其他人可以获得帮助。您是否在使用rails 6?rails 5.2,我已通过将.env放入共享文件夹中解决了此问题,在这种情况下,写下您对这个问题的详细答案,以便其他人可以获得帮助。@deploy.rb中的JesusAlfonsoPintoDelgadofile@JesusAlfonsoPintoDelgado在deploy.rb文件中