Yet another of my ‘obscure error message’ posts:
After upgrading an old Rails app from 3.2.x to 4.0.x I started getting a really weird error. Made all the more confusing by the fact that I couldn’t work out why it was trying to load Moped (given Mongoid 5.0.0 no longer uses Moped).
In fact it is trying to load something stored in a cookie. So clearing your cookies will solve this problem.
NameError - uninitialized constant Moped :
activesupport ( 4.0 . 13 ) lib / active_support / inflector / methods . rb : 226 :in `const_get'
activesupport (4.0.13) lib/active_support/inflector/methods.rb:226:in ` block in constantize '
activesupport (4.0.13) lib/active_support/inflector/methods.rb:224:in `each'
activesupport ( 4.0 . 13 ) lib / active_support / inflector / methods . rb : 224 :in `inject'
activesupport (4.0.13) lib/active_support/inflector/methods.rb:224:in ` constantize '
activesupport (4.0.13) lib/active_support/core_ext/string/inflections.rb:66:in `constantize'
activesupport ( 4.0 . 13 ) lib / active_support / core_ext / marshal . rb : 10 :in `rescue in load_with_autoloading'
activesupport (4.0.13) lib/active_support/core_ext/marshal.rb:6:in ` load_with_autoloading '
activesupport (4.0.13) lib/active_support/message_verifier.rb:40:in `verify'
actionpack ( 4.0 . 13 ) lib / action_dispatch / middleware / cookies . rb : 405 :in `verify'
actionpack (4.0.13) lib/action_dispatch/middleware/cookies.rb:387:in ` [] '
actionpack (4.0.13) lib/action_dispatch/middleware/session/cookie_store.rb:113:in `get_cookie'
actionpack ( 4.0 . 13 ) lib / action_dispatch / middleware / session / cookie_store . rb : 89 :in `block in unpacked_cookie_data'
actionpack (4.0.13) lib/action_dispatch/middleware/session/abstract_store.rb:51:in ` stale_session_check! '
actionpack (4.0.13) lib/action_dispatch/middleware/session/cookie_store.rb:88:in `unpacked_cookie_data'
actionpack ( 4.0 . 13 ) lib / action_dispatch / middleware / session / cookie_store . rb : 82 :in `block in extract_session_id'
actionpack (4.0.13) lib/action_dispatch/middleware/session/abstract_store.rb:51:in ` stale_session_check! '
actionpack (4.0.13) lib/action_dispatch/middleware/session/cookie_store.rb:81:in `extract_session_id'
actionpack ( 4.0 . 13 ) lib / action_dispatch / request / session . rb : 46 :in `block in []'
actionpack (4.0.13) lib/action_dispatch/request/session.rb:45:in ` fetch '
actionpack (4.0.13) lib/action_dispatch/request/session.rb:45:in `[]'
actionpack ( 4.0 . 13 ) lib / action_dispatch / request / session . rb : 67 :in `id'
rack (1.5.5) lib/rack/session/abstract/id.rb:282:in ` current_session_id '
rack (1.5.5) lib/rack/session/abstract/id.rb:288:in `session_exists?'
actionpack ( 4.0 . 13 ) lib / action_dispatch / request / session . rb : 140 :in `exists?'
actionpack (4.0.13) lib/action_dispatch/request/session.rb:160:in ` load_for_read! '
actionpack (4.0.13) lib/action_dispatch/request/session.rb:86:in `[]'
warden ( 1.2 . 4 ) lib / warden / session_serializer . rb : 30 :in `fetch'
warden (1.2.4) lib/warden/proxy.rb:212:in ` user '
warden (1.2.4) lib/warden/proxy.rb:322:in `_perform_authentication'
warden ( 1.2 . 4 ) lib / warden / proxy . rb : 104 :in `authenticate'
devise (3.5.3) lib/devise/controllers/helpers.rb:124:in ` current_user '
devise (3.5.3) lib/devise/controllers/helpers.rb:120:in `user_signed_in?'
app / controllers / application_controller . rb : 14 :in `ensure_user'
You can fix this problem by running rake secret
and pasting the result over the current secret token in config/initializers/secret_token.rb
– keeping in mind this will log everyone out and prevent the app from accessing anything stored in signed cookies.