Ruby 迁移到Rails 3.2-未定义的方法&x27;会话=';对于ActionController::Base:Class

Ruby 迁移到Rails 3.2-未定义的方法&x27;会话=';对于ActionController::Base:Class,ruby,ruby-on-rails-3,Ruby,Ruby On Rails 3,根据所有这些优秀的参考资料,我将一个旧的Ruby(1.8.7)和Rails(2.2.2)应用程序迁移到Ruby(1.9.3)和Rails(3.2.12): 我可以启动应用程序的Rails服务器,但当我通过浏览器访问应用程序时,然后!我收到一个服务器错误: !!处理请求时出现意外错误:ActionController::Base:Class的未定义方法“session=” 当我为“session=”grep-r时,我得到: 根据谷歌对该错误的搜索,这是Rails2的一个老问题,所以我想知道我

根据所有这些优秀的参考资料,我将一个旧的Ruby(1.8.7)和Rails(2.2.2)应用程序迁移到Ruby(1.9.3)和Rails(3.2.12):




我可以启动应用程序的Rails服务器,但当我通过浏览器访问应用程序时,然后!我收到一个服务器错误:

!!处理请求时出现意外错误:ActionController::Base:Class的未定义方法“session=”

当我为“session=”grep-r时,我得到:

根据谷歌对该错误的搜索,这是Rails2的一个老问题,所以我想知道我是在迁移过程中遗漏了什么,还是这是其他问题。谢谢

以下是我的终端会话活动:

root@partners:/var/www/vendor_sandbox# ruby -v
ruby 1.9.3p385 (2013-02-06 revision 39114) [i686-linux]
root@partners:/var/www/vendor_sandbox# rails --version
Rails 3.2.12
root@partners:/var/www/vendor_sandbox# rails s
=> Booting Thin
=> Rails 3.2.12 application starting in development on     http://0.0.0.0:3000
=> Call with -d to detach
=> Ctrl-C to shutdown server

>> Thin web server (v1.5.0 codename Knife)
>> Maximum connections set to 1024
>> Listening on 0.0.0.0:3000, CTRL+C to stop
然后,我从浏览器点击应用程序并:

!! Unexpected error while processing request: undefined method `session=' for ActionController::Base:Class

尝试改用
config.session\u store
。您必须指定存储类型,很可能是
:cookie\u store
。下面是一个示例,它将在您的
应用程序中显示。rb

config.session_store(:cookie_store, {:key => foo, :secret => bar})

您在
会话=
之后拥有的任何选项都将进入该散列中。

您过去可以说session:off来关闭会话(现在不需要),但没有看到代码,这只是猜测而已。我将在“会话”中四处搜索,看看结果如何。Thanks@Frederick-看我的更新-这是解决方案。谢谢我将语法从“config.action\u controller.session={…}”更改为较新的语法。一切都好起来了。
config.session_store(:cookie_store, {:key => foo, :secret => bar})