ruby 尝试初始化机架会话cookie时没有方法错误

ilmyapht  于 12个月前  发布在  Ruby
关注(0)|答案(1)|浏览(90)

我没有使用任何框架,只用rack gem来构建一个web应用程序。我正在尝试为成功登录的用户设置cookie:

use Rack::Session::Cookie

我得到以下错误:

C:/Ruby30-x64/lib/ruby/gems/3.0.0/gems/rack-2.2.7/lib/rack/session/cookie.rb:155:in `<class:Cookie>': undefined method `DelegateClass' for Rack::Session::Cookie:Class (NoMethodError)

我已经尝试将机架版本指定为

gem "rack", "~> 3.0"

但一切都没变
怎么修?

owfi6suc

owfi6suc1#

您可能最近从机架版本2更新到3。或者您正在使用机架版本2的教程或文档,但正在运行机架3。
引用自rack的UPGRADE-GUIDE.md:

Rack::Session被移到一个单独的gem。

以前,Rack::Sessionrack gem的一部分。并不是每个应用程序都需要它,它增加了rack的安全表面积,因此决定将其提取到自己的gem rack-session中,可以独立更新。
使用rack-session的应用程序需要添加该gem作为依赖项:

gem 'rack-session'

相关问题