phương thức không xác định `Transform_keys 'đang tải web Sidekiq


24

Sau khi cập nhật đá quý, nó không tải trang web sidekiq gây ra lỗi sau:

NoMethodError (undefined method `transform_keys' for <ActionDispatch::Request::Session:0x00005568df2a8710>):

Những viên đá quý được cập nhật là:

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

phiên bản ruby: ruby ​​2.6.0p0 (phiên bản 2018-12-25 66547) [x86_64-linux]

Thông báo lỗi đầy đủ


1
Phiên bản nào của Ruby và Ruby on Rails bạn sử dụng?
spickermann

@spickermann đang hỏi vì Hash # Transform_keys đã được thêm vào lõi Ruby gần đây, trong phiên bản 2.5.
Cary Swoveland

@spickermann ruby ​​2.6.0p0 (phiên bản 2018-12-25 66547) [x86_64-linux]
rhugo

@rhugo Bạn có thể vui lòng gửi thông báo lỗi đầy đủ bao gồm theo dõi ngăn xếp và mã kích hoạt ngoại lệ (xem theo dõi ngăn xếp để xác định nơi xảy ra lỗi trong ứng dụng của bạn).
spickermann

@spickermann Tôi đã thêm một hình ảnh với nhật ký, nó không cho phép tôi bao gồm rất nhiều mã trong tin nhắn
rhugo

Câu trả lời:


36

Nó dường như là một vấn đề với Rack 2.1.1. Nó hoạt động tốt với 2.0.8.


6
Nó đã được sửa trong Rack 2.1.2, vừa được phát hành vài giờ trước.
Mike A.

1
Tôi đã cập nhật lên Rack 2.1.2 nhưng Sidekiq hiển thị các trang trống. Hạ cấp xuống 2.0.8 để nó hoạt động trở lại. Nhiều vấn đề hơn ở đây: github.com/rack/rack/issues/1531
dologistsrg


8

Cập nhật: Rack 2.1.2 đã được phát hành và nó giải quyết lỗi này

Bây giờ giải pháp là đảm bảo bạn sử dụng 2.1.2 trở lên.

bundle update rack

có thể thực hiện mẹo cho bạn tùy thuộc vào phần còn lại của Gemfile.


Câu trả lời cũ

Hai lựa chọn để giải quyết điều này.

  • Cài đặt một bản phát hành làm việc trước đó (được khuyến nghị). Điều này sẽ cài đặt bản phát hành mới nhất trên nhánh 2.0.X:
gem 'rack', '~> 2.0.0'
  • Cài đặt phiên bản cố định từ kho git
gem 'rack', github: 'rack/rack', ref: 'f690bb71425aa31d7b9b3113829af773950d8ab5'

Trong cả hai trường hợp, bạn nên loại bỏ / thay thế điều này bằng bản phát hành cố định thích hợp một khi điều này xảy ra. Theo dõi https://github.com/rack/rack/pull/1428


5

Đối với tôi, tôi đã giải quyết vấn đề này bằng cách thêm dòng này vào Gemfile

gem 'rack', '2.0.7'

Nếu bạn có Gemfile.locktại địa phương, bạn có thể xóa nó và sau đó chạy bundle install.

Nếu bạn đang sử dụng Capistrano, bạn không cần chạy bundle installthủ công và Gemfile.lockthường không tồn tại trong kho lưu trữ của bạn.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.