Setelah memperbarui permata, itu tidak memuat situs web sidekiq memberikan kesalahan berikut:
NoMethodError (undefined method `transform_keys' for <ActionDispatch::Request::Session:0x00005568df2a8710>):
Permata yang diperbarui adalah:
selenium-webdriver 3.142.7
rack-protection 2.0.8.1
mime-types 3.3.1
mini_magick 4.10.1
image_processing 1.10.3
groupdate 4.3.0
friendly_id 5.3.0
faraday 0.17.3
http 4.3.0
public_suffix 4.0.3
rack 2.1.1
crass 1.0.6
i18n 1.7.1
minitest 5.14.0
versi ruby: ruby 2.6.0p0 (2018-12-25 revisi 66547) [x86_64-linux]
ruby-on-rails
ruby
sidekiq
rhugo
sumber
sumber
Jawaban:
Tampaknya menjadi masalah dengan Rack 2.1.1. Ini berfungsi ok dengan 2.0.8.
sumber
ini masalah rak dan diperbaiki oleh PR ini: https://github.com/rack/rack/pull/1428
sumber
Pembaruan: Rack 2.1.2 telah dirilis dan ini memecahkan kesalahan ini
Sekarang solusinya adalah memastikan Anda menggunakan 2.1.2 atau lebih tinggi.
mungkin melakukan trik untuk Anda tergantung pada sisa Gemfile Anda.
Jawaban lama
Dua opsi untuk mengatasi ini.
Dalam kedua kasus, Anda harus menghapus / mengganti ini dengan rilis tetap yang tepat setelah ini terjadi. Melacak https://github.com/rack/rack/pull/1428
sumber
Bagi saya, saya memecahkan masalah ini dengan menambahkan baris ini ke
Gemfile
Jika ada
Gemfile.lock
di lokal, Anda dapat menghapusnya dan kemudian jalankanbundle install
.Jika Anda menggunakan Capistrano, Anda tidak perlu menjalankannya
bundle install
secara manual, danGemfile.lock
seringkali tidak ada di repositori Anda.sumber