ubuntu 20.04 Ruby on rails 设计不允许的参数

ubuntu 20.04 Ruby on rails devise unpermitted param

我将 ubuntu 从 19.10(一切正常)更新到 20.04。 登录时出现错误 Unpermitted parameter: session

Started POST "/auth/sign_in" for ::1 at 2020-06-05 20:29:41 +0300
  ActiveRecord::SchemaMigration Load (0.9ms)  SELECT `schema_migrations`.* FROM `schema_migrations`
Processing by DeviseTokenAuth::SessionsController#create as JSON
  Parameters: {"email"=>"EMAIL", "password"=>"[FILTERED]", "session"=>{"email"=>"EMAIL", "password"=>"[FILTERED]"}}
Unpermitted parameter: session
Unpermitted parameter: session
  User Load (1.8ms)  SELECT  `users`.* FROM `users` WHERE `users`.`deleted_at` IS NULL AND (BINARY email = 'EMAIL' AND provider='email')  ORDER BY `users`.`id` ASC LIMIT 1
Unpermitted parameter: session
Unpermitted parameter: session
[active_model_serializers] Rendered ActiveModel::Serializer::Null with Hash (0.09ms)
  User Load (0.4ms)  SELECT  `users`.* FROM `users` WHERE `users`.`id` = 321 LIMIT 1
Completed 401 Unauthorized in 101ms (Views: 8.5ms | ActiveRecord: 4.1ms | SQL count: 5)

感谢您的帮助

答案是库Device使用了第三方的gem Bcrypt,在4.2版本中被删除,我有3版本。Link问题:https://github.com/codahale/bcrypt-ruby/issues/226.更新bcrypt到3.1.13版本解决了我的问题,我之前的版本是3.1.11。