【问题标题】:Devise not working with Rails 4.0设计不适用于 Rails 4.0
【发布时间】:2013-07-31 18:49:15
【问题描述】:

我采取了以下步骤:

rails new 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,我得到以下信息:

rake 中止!

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>'

知道发生了什么吗?谢谢,真的很感激!

【问题讨论】:

  • 您先运行rails g devise:install 了吗?另外,尝试锁定设计版本:gem 'devise', '~&gt; 3.0.1'
  • 就是这样!如果您将其添加为答案,我会很乐意接受它;)
  • 真的不知道如何将其解释为正确的答案……@Dhaulagiri 也几乎完全正确,所以也许编辑他的答案?另外,如果能去 Github 上关闭票就好了。

标签: ruby-on-rails devise rails-engines


【解决方案1】:

我在让 Devise 与 Rails 4 一起工作时遇到了问题,发现大部分问题是因为我包含了未更新为与 Rails 4 一起工作的较旧版本的 gem。指定最新版本的 gem 有助于:

gem 'devise', '3.0.0'

您可能需要在 gem 更新后重新运行 Devise 安装程序。

【讨论】:

    【解决方案2】:

    您不是唯一遇到此问题的人,请参阅以下issue 了解更多信息。

    【讨论】:

    • 是的……我一直在读它。好像edge版本已经修复了,但是还是报错(edge版本不同)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-08-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多