首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Rails 4.2.0.rc1升级<模块:InheritedResources>‘:未初始化常量ActionController::Responder (NameError)

Rails 4.2.0.rc1升级<模块:InheritedResources>‘:未初始化常量ActionController::Responder (NameError)
EN

Stack Overflow用户
提问于 2014-12-03 15:19:12
回答 3查看 2.6K关注 0票数 4

在尝试从4.1.8升级到rails 4.2.0.rc1时,运行服务器时会出现以下错误:

代码语言:javascript
运行
复制
joshRpowell@Joshuas-MacBook-Air:~/MyProjects/rentlit-app[hook]$ rails s
/Users/joshRpowell/.rvm/gems/ruby-2.1.5@rails4.2/gems/inherited_resources-1.5.1/lib/inherited_resources/responder.rb:2:in `<module:InheritedResources>': uninitialized constant ActionController::Responder (NameError)
from /Users/joshRpowell/.rvm/gems/ruby-2.1.5@rails4.2/gems/inherited_resources-1.5.1/lib/inherited_resources/responder.rb:1:in `<top (required)>'
from /Users/joshRpowell/.rvm/gems/ruby-2.1.5@rails4.2/gems/inherited_resources-1.5.1/lib/inherited_resources.rb:4:in `<top (required)>'
from /Users/joshRpowell/.rvm/gems/ruby-2.1.5@rails4.2/bundler/gems/active_admin-951f35d6799a/lib/active_admin.rb:10:in `<top (required)>'
from /Users/joshRpowell/.rvm/gems/ruby-2.1.5@rails4.2/bundler/gems/active_admin-951f35d6799a/lib/activeadmin.rb:1:in `require'
from /Users/joshRpowell/.rvm/gems/ruby-2.1.5@rails4.2/bundler/gems/active_admin-951f35d6799a/lib/activeadmin.rb:1:in `<top (required)>'
from /Users/joshRpowell/.rvm/gems/ruby-2.1.5@global/gems/bundler-1.7.7/lib/bundler/runtime.rb:76:in `require'
from /Users/joshRpowell/.rvm/gems/ruby-2.1.5@global/gems/bundler-1.7.7/lib/bundler/runtime.rb:76:in `block (2 levels) in require'
from /Users/joshRpowell/.rvm/gems/ruby-2.1.5@global/gems/bundler-1.7.7/lib/bundler/runtime.rb:72:in `each'
from /Users/joshRpowell/.rvm/gems/ruby-2.1.5@global/gems/bundler-1.7.7/lib/bundler/runtime.rb:72:in `block in require'
from /Users/joshRpowell/.rvm/gems/ruby-2.1.5@global/gems/bundler-1.7.7/lib/bundler/runtime.rb:61:in `each'
from /Users/joshRpowell/.rvm/gems/ruby-2.1.5@global/gems/bundler-1.7.7/lib/bundler/runtime.rb:61:in `require'
from /Users/joshRpowell/.rvm/gems/ruby-2.1.5@global/gems/bundler-1.7.7/lib/bundler.rb:133:in `require'
from /Users/joshRpowell/MyProjects/rentlit-app/config/application.rb:7:in `<top (required)>'
from /Users/joshRpowell/.rvm/gems/ruby-2.1.5@rails4.2/gems/railties-4.2.0.rc1/lib/rails/commands/commands_tasks.rb:78:in `require'
from /Users/joshRpowell/.rvm/gems/ruby-2.1.5@rails4.2/gems/railties-4.2.0.rc1/lib/rails/commands/commands_tasks.rb:78:in `block in server'
from /Users/joshRpowell/.rvm/gems/ruby-2.1.5@rails4.2/gems/railties-4.2.0.rc1/lib/rails/commands/commands_tasks.rb:75:in `tap'
from /Users/joshRpowell/.rvm/gems/ruby-2.1.5@rails4.2/gems/railties-4.2.0.rc1/lib/rails/commands/commands_tasks.rb:75:in `server'
from /Users/joshRpowell/.rvm/gems/ruby-2.1.5@rails4.2/gems/railties-4.2.0.rc1/lib/rails/commands/commands_tasks.rb:39:in `run_command!'
from /Users/joshRpowell/.rvm/gems/ruby-2.1.5@rails4.2/gems/railties-4.2.0.rc1/lib/rails/commands.rb:17:in `<top (required)>'
from bin/rails:4:in `require'
from bin/rails:4:in `<main>'

在我的application.rb文件中,我有以下内容:

代码语言:javascript
运行
复制
require File.expand_path('../boot', __FILE__)

require 'rails/all'

# Require the gems listed in Gemfile, including any gems
# you've limited to :test, :development, or :production.
Bundler.require(:default, Rails.env)

module Rentlit
  class Application < Rails::Application

    config.generators.helper = false
    config.generators.assets = false
    config.generators.view_specs = false
  end
end

对如何排除故障有任何建议吗?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2014-12-21 19:26:15

他们已经解决了:resources/commit/6d034d913bfd9b53ea2e5b31c4056578a1b170a4。我使用的是rails 4.2.1的最新创业板发行版,它运行良好。

对于遇到这个问题的人,请尝试使用bundle update inherited_resources

旧答案:

您必须对rails 4.2使用特定的分支:

代码语言:javascript
运行
复制
gem 'inherited_resources', github: 'josevalim/inherited_resources', branch: 'rails-4-2'
票数 8
EN

Stack Overflow用户

发布于 2014-12-10 23:22:49

我在这里不完全确定,但我确实知道action_controller/metal/responder.rb是在4.2中从rails中删除的,并且几乎直接复制到responders gem的action_controller/responder.rb中。您可以尝试将gem 'responders', '~> 2.0'添加到Gemfile中,以查看是否修复了它。

FWIW:

票数 5
EN

Stack Overflow用户

发布于 2015-06-18 13:27:17

就现在来说,快跑

代码语言:javascript
运行
复制
bundle update inherited_resources
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/27275301

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档