Обновление Rails 3.2 до Rails 4.2, получение 401 неавторизованного доступа

Когда я обновлял рельсы 3.2 до рельсов 4.2, все драгоценные камни совместимы с рельсами 4, которые были перекрестно проверены с помощью this когда я запускаю сервер, он выдает ошибку, как показано ниже.

    Processing by HomeController#index as HTML
Completed 500 Internal Server Error in 28ms (ActiveRecord: 0.0ms)

TypeError (incompatible marshal file format (can't be read)
    format version 4.8 required; 123.34 given):
  activesupport (4.2.4) lib/active_support/core_ext/marshal.rb:6:in `load'
  activesupport (4.2.4) lib/active_support/core_ext/marshal.rb:6:in `load_with_autoloading'
  actionpack (4.2.4) lib/action_dispatch/middleware/cookies.rb:424:in `deserialize'
  actionpack (4.2.4) lib/action_dispatch/middleware/cookies.rb:516:in `[]'
  actionpack (4.2.4) lib/action_dispatch/middleware/session/cookie_store.rb:114:in `get_cookie'
  actionpack (4.2.4) lib/action_dispatch/middleware/session/cookie_store.rb:90:in `block in unpacked_cookie_data'
  actionpack (4.2.4) lib/action_dispatch/middleware/session/abstract_store.rb:51:in `stale_session_check!'
  actionpack (4.2.4) lib/action_dispatch/middleware/session/cookie_store.rb:89:in `unpacked_cookie_data'
  actionpack (4.2.4) lib/action_dispatch/middleware/session/cookie_store.rb:83:in `block in extract_session_id'
  actionpack (4.2.4) lib/action_dispatch/middleware/session/abstract_store.rb:51:in `stale_session_check!'
  actionpack (4.2.4) lib/action_dispatch/middleware/session/cookie_store.rb:82:in `extract_session_id'
  actionpack (4.2.4) lib/action_dispatch/request/session.rb:49:in `block in []'
  actionpack (4.2.4) lib/action_dispatch/request/session.rb:48:in `fetch'
  actionpack (4.2.4) lib/action_dispatch/request/session.rb:48:in `[]'
  actionpack (4.2.4) lib/action_dispatch/request/session.rb:70:in `id'
  rack (1.6.4) lib/rack/session/abstract/id.rb:282:in `current_session_id'
  rack (1.6.4) lib/rack/session/abstract/id.rb:288:in `session_exists?'
  actionpack (4.2.4) lib/action_dispatch/request/session.rb:152:in `exists?'
  actionpack (4.2.4) lib/action_dispatch/request/session.rb:172:in `load_for_read!'
  actionpack (4.2.4) lib/action_dispatch/request/session.rb:89:in `[]'
  warden (1.2.3) lib/warden/session_serializer.rb:30:in `fetch'
  warden (1.2.3) lib/warden/proxy.rb:212:in `user'
  warden (1.2.3) lib/warden/proxy.rb:318:in `_perform_authentication'
  warden (1.2.3) lib/warden/proxy.rb:104:in `authenticate'
  devise (3.5.2) lib/devise/controllers/helpers.rb:120:in `current_user'
  activesupport (4.2.4) lib/active_support/callbacks.rb:432:in `block in make_lambda'
  activesupport (4.2.4) lib/active_support/callbacks.rb:290:in `call'
  activesupport (4.2.4) lib/active_support/callbacks.rb:290:in `block (2 levels) in halting_and_conditional'
  activesupport (4.2.4) lib/active_support/callbacks.rb:290:in `each'
  activesupport (4.2.4) lib/active_support/callbacks.rb:290:in `all?'
  activesupport (4.2.4) lib/active_support/callbacks.rb:290:in `block in halting_and_conditional'
  activesupport (4.2.4) lib/active_support/callbacks.rb:497:in `call'
  activesupport (4.2.4) lib/active_support/callbacks.rb:497:in `block in around'
  activesupport (4.2.4) lib/active_support/callbacks.rb:505:in `call'
  activesupport (4.2.4) lib/active_support/callbacks.rb:505:in `call'
  activesupport (4.2.4) lib/active_support/callbacks.rb:92:in `__run_callbacks__'
  activesupport (4.2.4) lib/active_support/callbacks.rb:778:in `_run_process_action_callbacks'
  activesupport (4.2.4) lib/active_support/callbacks.rb:81:in `run_callbacks'
  actionpack (4.2.4) lib/abstract_controller/callbacks.rb:19:in `process_action'
  actionpack (4.2.4) lib/action_controller/metal/rescue.rb:29:in `process_action'
  actionpack (4.2.4) lib/action_controller/metal/instrumentation.rb:32:in `block in process_action'
  activesupport (4.2.4) lib/active_support/notifications.rb:164:in `block in instrument'
  activesupport (4.2.4) lib/active_support/notifications/instrumenter.rb:20:in `instrument'
  activesupport (4.2.4) lib/active_support/notifications.rb:164:in `instrument'
  actionpack (4.2.4) lib/action_controller/metal/instrumentation.rb:30:in `process_action'
  actionpack (4.2.4) lib/action_controller/metal/params_wrapper.rb:250:in `process_action'
  activerecord (4.2.4) lib/active_record/railties/controller_runtime.rb:18:in `process_action'
  actionpack (4.2.4) lib/abstract_controller/base.rb:137:in `process'
  actionview (4.2.4) lib/action_view/rendering.rb:30:in `process'
  actionpack (4.2.4) lib/action_controller/metal.rb:196:in `dispatch'
  actionpack (4.2.4) lib/action_controller/metal/rack_delegation.rb:13:in `dispatch'
  actionpack (4.2.4) lib/action_controller/metal.rb:237:in `block in action'
  actionpack (4.2.4) lib/action_dispatch/routing/route_set.rb:76:in `call'
  actionpack (4.2.4) lib/action_dispatch/routing/route_set.rb:76:in `dispatch'
  actionpack (4.2.4) lib/action_dispatch/routing/route_set.rb:45:in `serve'
  actionpack (4.2.4) lib/action_dispatch/journey/router.rb:43:in `block in serve'
  actionpack (4.2.4) lib/action_dispatch/journey/router.rb:30:in `each'
  actionpack (4.2.4) lib/action_dispatch/journey/router.rb:30:in `serve'
  actionpack (4.2.4) lib/action_dispatch/routing/route_set.rb:821:in `call'
  client_side_validations (3.2.7) lib/client_side_validations/middleware.rb:17:in `call'
  warden (1.2.3) lib/warden/manager.rb:35:in `block in call'
  warden (1.2.3) lib/warden/manager.rb:34:in `catch'
  warden (1.2.3) lib/warden/manager.rb:34:in `call'
  rack (1.6.4) lib/rack/etag.rb:24:in `call'
  rack (1.6.4) lib/rack/conditionalget.rb:25:in `call'
  rack (1.6.4) lib/rack/head.rb:13:in `call'
  actionpack (4.2.4) lib/action_dispatch/middleware/params_parser.rb:27:in `call'
  actionpack (4.2.4) lib/action_dispatch/middleware/flash.rb:260:in `call'
  rack (1.6.4) lib/rack/session/abstract/id.rb:225:in `context'
  rack (1.6.4) lib/rack/session/abstract/id.rb:220:in `call'
  actionpack (4.2.4) lib/action_dispatch/middleware/cookies.rb:560:in `call'
  activerecord (4.2.4) lib/active_record/query_cache.rb:36:in `call'
  activerecord (4.2.4) lib/active_record/connection_adapters/abstract/connection_pool.rb:653:in `call'
  activerecord (4.2.4) lib/active_record/migration.rb:377:in `call'
  actionpack (4.2.4) lib/action_dispatch/middleware/callbacks.rb:29:in `block in call'
  activesupport (4.2.4) lib/active_support/callbacks.rb:88:in `__run_callbacks__'
  activesupport (4.2.4) lib/active_support/callbacks.rb:778:in `_run_call_callbacks'
  activesupport (4.2.4) lib/active_support/callbacks.rb:81:in `run_callbacks'
  actionpack (4.2.4) lib/action_dispatch/middleware/callbacks.rb:27:in `call'
  actionpack (4.2.4) lib/action_dispatch/middleware/reloader.rb:73:in `call'
  actionpack (4.2.4) lib/action_dispatch/middleware/remote_ip.rb:78:in `call'
  actionpack (4.2.4) lib/action_dispatch/middleware/debug_exceptions.rb:17:in `call'
  actionpack (4.2.4) lib/action_dispatch/middleware/show_exceptions.rb:30:in `call'
  railties (4.2.4) lib/rails/rack/logger.rb:38:in `call_app'
  railties (4.2.4) lib/rails/rack/logger.rb:20:in `block in call'
  activesupport (4.2.4) lib/active_support/tagged_logging.rb:68:in `block in tagged'
  activesupport (4.2.4) lib/active_support/tagged_logging.rb:26:in `tagged'
  activesupport (4.2.4) lib/active_support/tagged_logging.rb:68:in `tagged'
  railties (4.2.4) lib/rails/rack/logger.rb:20:in `call'
  actionpack (4.2.4) lib/action_dispatch/middleware/request_id.rb:21:in `call'
  rack (1.6.4) lib/rack/methodoverride.rb:22:in `call'
  rack (1.6.4) lib/rack/runtime.rb:18:in `call'
  activesupport (4.2.4) lib/active_support/cache/strategy/local_cache_middleware.rb:28:in `call'
  rack (1.6.4) lib/rack/lock.rb:17:in `call'
  rack (1.6.4) lib/rack/sendfile.rb:113:in `call'
  railties (4.2.4) lib/rails/engine.rb:518:in `call'
  railties (4.2.4) lib/rails/application.rb:165:in `call'
  rack (1.6.4) lib/rack/content_length.rb:15:in `call'
  thin (1.6.4) lib/thin/connection.rb:86:in `block in pre_process'
  thin (1.6.4) lib/thin/connection.rb:84:in `catch'
  thin (1.6.4) lib/thin/connection.rb:84:in `pre_process'
  thin (1.6.4) lib/thin/connection.rb:53:in `process'
  thin (1.6.4) lib/thin/connection.rb:39:in `receive_data'
  eventmachine (1.0.8) lib/eventmachine.rb:193:in `run_machine'
  eventmachine (1.0.8) lib/eventmachine.rb:193:in `run'
  thin (1.6.4) lib/thin/backends/base.rb:73:in `start'
  thin (1.6.4) lib/thin/server.rb:162:in `start'
  rack (1.6.4) lib/rack/handler/thin.rb:19:in `run'
  rack (1.6.4) lib/rack/server.rb:286:in `start'
  railties (4.2.4) lib/rails/commands/server.rb:80:in `start'
  railties (4.2.4) lib/rails/commands/commands_tasks.rb:80:in `block in server'
  railties (4.2.4) lib/rails/commands/commands_tasks.rb:75:in `tap'
  railties (4.2.4) lib/rails/commands/commands_tasks.rb:75:in `server'
  railties (4.2.4) lib/rails/commands/commands_tasks.rb:39:in `run_command!'
  railties (4.2.4) lib/rails/commands.rb:17:in `<top (required)>'
  bin/rails:4:in `require'
  bin/rails:4:in `<main>'

Чего-то не хватает для файлов cookie или настроек сеанса или каких-либо изменений, необходимых для разработки?

Я также сталкиваюсь с другой проблемой обновление Rails 4 JSON::ParseError для старых сеансов< /а>

Ruby on Rails TypeError

Но не повезло, я изменил секретный токен.


person Jagdish Barabari    schedule 28.09.2015    source источник
comment
Было бы проще, если бы вы показали нам код   -  person BroiSatse    schedule 28.09.2015


Ответы (2)


Кажется, это ошибка проверки контрольной суммы. И в стеке вызовов он идет сразу после промежуточного ПО CookieStore. Я бы попробовал следующее:

  1. Пустые куки и кеш в моем веб-браузере
  2. При использовании хранилища файлов cookie на стороне сервера: очистите его хранилище (например: очистите таблицу базы данных sessions при использовании activerecord-session_store)
  3. Очистите содержимое каталога my_app/tmp с помощью rake tmp:clear
person Benj    schedule 19.10.2015
comment
..потому что способ хранения сессий несовместим между версиями рельсов. Вам нужно будет либо выполнить команду monkeypatch, чтобы старые сеансы заработали, либо отменить все сеансы (выйти из системы). Поскольку файлы cookie хранятся в браузерах, и у вас нет доступа ко всем компьютерам ваших пользователей, вам, вероятно, придется изменить имя сеансового ключа. - person court3nay; 23.10.2015

у меня была такая же проблема, когда я обновился с Rails 3.2.16 до Rails 4.2.0, и это была проблема с активами, попробуйте сделать следующее:

bundle exec rake assets:clean
bundle exec rake assets:precompile
person matanco    schedule 23.10.2015