【问题标题】:rails 5 Uninitialized constant RackDelegationrails 5 未初始化的常量 RackDelegation
【发布时间】:2016-10-29 03:11:06
【问题描述】:

我正在开发一个使用 rails 5.0.0.rc2 的项目。这是我到目前为止所做的 -

  1. rails 新的 DemoProject。
  2. 为 ruby​​-2.3.1 和 rails-5.0.0.rc2 创建了 gemset。
  3. $ 捆绑安装。
  4. $ rails g model 用户名:字符串

  5. 使用的设计宝石。

    宝石'设计'

    $ rails generate devise:install

    $ rails 生成设计用户

现在,如果我运行 rake:db migrate ,我会收到一个错误-

/home/swapnil/.rvm/gems/ruby-2.3.1@ruby-2.3.1-rails-5.0.0.rc2/gems/devise-3.5.10/lib/devise/failure_app.rb:9 :in `': 未初始化的常量 ActionController::RackDelegation (NameError)

这背后的原因是什么?如何解决这个问题?

【问题讨论】:

    标签: ruby-on-rails ruby uninitialized-constant


    【解决方案1】:

    从外观上看,您使用的是与 Rails 5.0.0.rc2 不兼容的 Devise 3.5.10。如果使用来自 RubyGems 的最新设计对您不起作用,请在您的 Gemfile 中执行此操作。 gem 'devise', github: plataformatec/devise

    检查了我的 Rails 5.0.0.rc1,我的设计版本是 4.1.1。

    【讨论】:

    • 原因是正确的,但解决方案对我不起作用。
    【解决方案2】:

    Devise 4.0 可与 Rails 4.1 及更高版本一起使用。

    所以这是设计版本的问题。

    我对其进行了升级,使其现在与 rails 5.0.0.rc2 兼容。

    gem '设计', '~> 4.1', '>= 4.1.1'

    并运行捆绑安装。

    【讨论】:

      【解决方案3】:

      这是我的门卫宝石,需要碰撞

      【讨论】:

        【解决方案4】:

        你不应该在 Rails 5 中使用这个 gem。Rails 5 已经合并了 rails-api。所以 rails-api(这个 gem)和 Rails 5 不兼容,你应该从 Gemfile 中删除 rails-api。

        【讨论】:

          猜你喜欢
          • 2017-08-05
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多