Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/ruby/21.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将Rails应用程序升级到Ruby 1.9.2——类DateTime需要有方法“uLoad';_Ruby_Ruby On Rails 3_Activesupport - Fatal编程技术网

将Rails应用程序升级到Ruby 1.9.2——类DateTime需要有方法“uLoad';

将Rails应用程序升级到Ruby 1.9.2——类DateTime需要有方法“uLoad';,ruby,ruby-on-rails-3,activesupport,Ruby,Ruby On Rails 3,Activesupport,自从我将我的应用程序升级到ruby 1.9.2之后,我遇到了以下错误: 我在运行ruby-v ruby 1.9.2p290(2011-07-09修订版32553)[x86_64-darwin11.2.0] TypeError (class DateTime needs to have method `_load'): activesupport (3.2.1) lib/active_support/message_verifier.rb:45:in `load' activesuppor

自从我将我的应用程序升级到ruby 1.9.2之后,我遇到了以下错误:

我在运行ruby-v ruby 1.9.2p290(2011-07-09修订版32553)[x86_64-darwin11.2.0]

TypeError (class DateTime needs to have method `_load'):
  activesupport (3.2.1) lib/active_support/message_verifier.rb:45:in `load'
  activesupport (3.2.1) lib/active_support/message_verifier.rb:45:in `verify'
  actionpack (3.2.1) lib/action_dispatch/middleware/cookies.rb:288:in `[]'
  actionpack (3.2.1) lib/action_dispatch/middleware/session/cookie_store.rb:53:in `block in unpacked_cookie_data'
  actionpack (3.2.1) lib/action_dispatch/middleware/session/abstract_store.rb:55:in `stale_session_check!'
  actionpack (3.2.1) lib/action_dispatch/middleware/session/cookie_store.rb:51:in `unpacked_cookie_data'
  rack (1.4.1) lib/rack/session/cookie.rb:98:in `extract_session_id'
  actionpack (3.2.1) lib/action_dispatch/middleware/session/abstract_store.rb:51:in `block in extract_session_id'
  actionpack (3.2.1) lib/action_dispatch/middleware/session/abstract_store.rb:55:in `stale_session_check!'
  actionpack (3.2.1) lib/action_dispatch/middleware/session/abstract_store.rb:51:in `extract_session_id'
  rack (1.4.1) lib/rack/session/abstract/id.rb:43:in `load_session_id!'
  rack (1.4.1) lib/rack/session/abstract/id.rb:32:in `[]'
  rack (1.4.1) lib/rack/session/abstract/id.rb:262:in `current_session_id'
  rack (1.4.1) lib/rack/session/abstract/id.rb:268:in `session_exists?'
  rack (1.4.1) lib/rack/session/abstract/id.rb:107:in `exists?'
  rack (1.4.1) lib/rack/session/abstract/id.rb:122:in `load_for_read!'
  rack (1.4.1) lib/rack/session/abstract/id.rb:64:in `has_key?'
  actionpack (3.2.1) lib/action_dispatch/middleware/flash.rb:258:in `ensure in call'
  actionpack (3.2.1) lib/action_dispatch/middleware/flash.rb:259:in `call'
  rack (1.4.1) lib/rack/session/abstract/id.rb:205:in `context'
  rack (1.4.1) lib/rack/session/abstract/id.rb:200:in `call'
  actionpack (3.2.1) lib/action_dispatch/middleware/cookies.rb:338:in `call'
  activerecord (3.2.1) lib/active_record/query_cache.rb:64:in `call'
  activerecord (3.2.1) lib/active_record/connection_adapters/abstract/connection_pool.rb:443:in `call'
  actionpack (3.2.1) lib/action_dispatch/middleware/callbacks.rb:28:in `block in call'
  activesupport (3.2.1) lib/active_support/callbacks.rb:405:in `_run__3195440498508246587__call__1658952344890015472__callbacks'
  activesupport (3.2.1) lib/active_support/callbacks.rb:405:in `__run_callback'
  activesupport (3.2.1) lib/active_support/callbacks.rb:385:in `_run_call_callbacks'
  activesupport (3.2.1) lib/active_support/callbacks.rb:81:in `run_callbacks'
  actionpack (3.2.1) lib/action_dispatch/middleware/callbacks.rb:27:in `call'
  actionpack (3.2.1) lib/action_dispatch/middleware/reloader.rb:65:in `call'
  actionpack (3.2.1) lib/action_dispatch/middleware/remote_ip.rb:31:in `call'
  actionpack (3.2.1) lib/action_dispatch/middleware/debug_exceptions.rb:16:in `call'
  actionpack (3.2.1) lib/action_dispatch/middleware/show_exceptions.rb:56:in `call'
  railties (3.2.1) lib/rails/rack/logger.rb:26:in `call_app'
  railties (3.2.1) lib/rails/rack/logger.rb:16:in `call'
  actionpack (3.2.1) lib/action_dispatch/middleware/request_id.rb:22:in `call'
  rack (1.4.1) lib/rack/methodoverride.rb:21:in `call'
  rack (1.4.1) lib/rack/runtime.rb:17:in `call'
  rack (1.4.1) lib/rack/lock.rb:15:in `call'
  actionpack (3.2.1) lib/action_dispatch/middleware/static.rb:53:in `call'
  railties (3.2.1) lib/rails/engine.rb:479:in `call'
  railties (3.2.1) lib/rails/application.rb:220:in `call'
  rack (1.4.1) lib/rack/content_length.rb:14:in `call'
  railties (3.2.1) lib/rails/rack/log_tailer.rb:14:in `call'
  rack (1.4.1) lib/rack/handler/webrick.rb:59:in `service'
  /Users/guillaumenm/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/1.9.1/webrick/httpserver.rb:111:in `service'
  /Users/guillaumenm/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/1.9.1/webrick/httpserver.rb:70:in `run'
  /Users/guillaumenm/.rvm/rubies/ruby-1.9.2-p290/lib/ruby/1.9.1/webrick/server.rb:183:in `block in start_thread'
我创建了一个新的rails应用程序,启动它没有问题。我以前没有任何问题

这是我的宝石档案。欢迎任何帮助

谢谢

source :gemcutter

gem 'oauth2'
gem 'faraday'
gem "koala", "~> 1.2.0beta"
gem 'json'
gem "rails", "3.2.1"
gem "sqlite3-ruby", :require => "sqlite3" 
gem 'songkickr'
gem 'httparty'
gem "squeel" , "~> 0.9.5" 
group :development do
  gem 'dalli'  #To use memcached
  gem 'newrelic_rpm'
  gem 'rails-web-console', :require => 'console'
  gem 'heroku'
end

gem 'event-calendar', :require => 'event_calendar'
gem 'delayed_job', '2.1.4'
gem 'icalendar'
gem 'acts_as_tree'
gem 'active_scaffold'
gem 'prototype-rails' 
gem 'prototype_legacy_helper', '0.0.0'  , :git => 'git://github.com/rails/prototype_legacy_helper.git'
gem "state_machine"

只是将我的应用程序降级到以前的rails 3.1.2版本,不再成功。与ruby 1.9.2升级相关。

在stackoverflow上找到了答案:

清除cookie:应用程序正在cookie中存储会话(这是一个编组的ruby对象)。如果我没记错的话,封送格式在1.8和1.9之间更改,所以你的应用程序无法再加载旧会话


有可能我的应用程序不是生产应用程序,或者我可能有许多用户出现这些错误…

在更新生产应用程序时,我可以通过清除所有会话来解决此问题:

从会议中删除;
(来自使用SQL的数据库——这样用户就不必清除他们的cookie)

最近类似的事情发生在我身上。经过一些调试(甚至调试ruby代码以确认),我的结论是plist4r gem正在修改String类,使其可由用户序列化()。更新之后,当我们放弃对plist4r的依赖时,字符串实例被还原回可反序列化的系统。但是序列化的流仍然要求字符串实例是用户可反序列化的,因此出现了错误

对我来说,这是plist4r和String类的例子

可能还有其他一些情况

我们的解决方案是使所有会话(数据/cookie)无效,从而消除对这些流进行反序列化的需要