Devise не работает с Rails 4.0

Я предпринял следующие шаги:

рельсы новый routing_test

  • в Gemfile я добавил разработку
  • Rails разрабатывает g, пользователь вызывает active_record

    create    db/migrate/20130731191051_devise_create_users.rb
    create    app/models/user.rb
    invoke    rspec
    create      spec/models/user_spec.rb
    invoke      factory_girl
    create        spec/factories/users.rb
    insert    app/models/user.rb
    route  devise_for :users
    

а затем с помощью простого rake db:migrate я получаю следующее:

рейк прерван!

Rails::Application::RoutesReloader#execute_if_updated delegated to updater.execute_if_updated, but updater is nil: #<Rails::Application::RoutesReloader:0x007feb823b6120 @paths=["/Users/krg07/Developer/core2/test/dummy/config/routes.rb", "/Users/krg07/Developer/core2/config/routes.rb"], @route_sets=[#<ActionDispatch::Routing::RouteSet:0x007feb82c5e700>, #<ActionDispatch::Routing::RouteSet:0x007feb82d34440>]>
/Users/krg07/.rvm/gems/ruby-2.0.0-p247/gems/railties-4.0.0/lib/rails/application/routes_reloader.rb:10:in `rescue in execute_if_updated'
/Users/krg07/.rvm/gems/ruby-2.0.0-p247/gems/railties-4.0.0/lib/rails/application/routes_reloader.rb:6:in `execute_if_updated'
/Users/krg07/.rvm/gems/ruby-2.0.0-p247/gems/railties-4.0.0/lib/rails/application/finisher.rb:69:in `block in <module:Finisher>'

Есть идеи, что происходит? Спасибо, очень ценю это!


person Karan    schedule 31.07.2013    source источник
comment
Вы сначала запустили rails g devise:install? Также попробуйте заблокировать версию устройства: gem 'devise', '~> 3.0.1'   -  person j03w    schedule 04.08.2013
comment
это было! если вы добавите это как ответ, я с радостью приму его;)   -  person Karan    schedule 04.08.2013
comment
На самом деле не знаю, как перефразировать это в правильный ответ ... также @Dhaulagiri тоже почти правильно понял, так что, возможно, отредактируйте свой ответ? Кроме того, было бы здорово, если бы можно было пойти и закрыть тикет на Github.   -  person j03w    schedule 05.08.2013


Ответы (2)


У меня были проблемы с тем, чтобы заставить Devise работать с Rails 4, и я обнаружил, что большинство проблем было связано с тем, что я включал более старую версию драгоценного камня, который не был обновлен для работы с Rails 4. Указание последней версии драгоценного камня помогло:

gem 'devise', '3.0.0'

Возможно, вам придется повторно запустить установщик Devise после обновления драгоценного камня.

person Dhaulagiri    schedule 31.07.2013

Вы не единственный, у кого есть эта проблема, см. следующую проблему для получения дополнительной информации.

person Simon    schedule 31.07.2013
comment
ага... я читал. Кажется, это было исправлено в пограничной версии, но я все еще получаю сообщение об ошибке (другое в пограничной версии) - person Karan; 31.07.2013