Rails(3.2.16)路由错误未初始化的常量InheritedResources

时间:2014-01-30 17:16:58

标签: ruby-on-rails ruby-on-rails-3 ruby-on-rails-3.2

我正在将Rails 2.3应用程序升级到3.2 - 这样做,我曾经依赖ResourceController的其中一个插件在Rails 3中不再可用(至少不是一个好的端口我发现了)。因此,我不得不寻找其他选项,我尝试过的每个宝石rc_railsrd_resource_controller以及inherited_resources都会导致同样的错误:

Routing Error uninitialized constant [ResourceController|InheritedResources]

他们肯定在我的gemlock中,我重新启动了服务器测试它们。几乎看起来好像没有安装宝石,因为发生了这样的错误。

以下是resources :projects的路线:

                projects GET      /projects(.:format)                      projects#index
                     POST     /projects(.:format)                      projects#create
         new_project GET      /projects/new(.:format)                  projects#new
        edit_project GET      /projects/:id/edit(.:format)             projects#edit
             project GET      /projects/:id(.:format)                  projects#show
                     PUT      /projects/:id(.:format)                  projects#update
                     DELETE   /projects/:id(.:format)                  projects#destroy

这是控制器:

class ProjectsController < ResourceController::Base
#....
end

## OR

class ProjectsController < InheritedResources::Base
## ....
end

所有这些都导致未初始化的常数:

Routing Error

uninitialized constant InheritedResources

以下是继承资源的回溯:

Started GET "/projects/3903/edit" for 127.0.0.1 at 2014-01-30 10:17:55 -0600

ActionController::RoutingError (uninitialized constant InheritedResources):
  app/controllers/projects_controller.rb:3:in `<top (required)>'
  activesupport (3.2.16) lib/active_support/inflector/methods.rb:230:in `block in constantize'
  activesupport (3.2.16) lib/active_support/inflector/methods.rb:229:in `each'
  activesupport (3.2.16) lib/active_support/inflector/methods.rb:229:in `constantize'
  actionpack (3.2.16) lib/action_dispatch/routing/route_set.rb:69:in `controller_reference'
  actionpack (3.2.16) lib/action_dispatch/routing/route_set.rb:54:in `controller'
  actionpack (3.2.16) lib/action_dispatch/routing/route_set.rb:32:in `call'
  journey (1.0.4) lib/journey/router.rb:68:in `block in call'
  journey (1.0.4) lib/journey/router.rb:56:in `each'
  journey (1.0.4) lib/journey/router.rb:56:in `call'
  actionpack (3.2.16) lib/action_dispatch/routing/route_set.rb:608:in `call'
  actionpack (3.2.16) lib/action_dispatch/middleware/best_standards_support.rb:17:in `call'
  rack (1.4.5) lib/rack/etag.rb:23:in `call'
  rack (1.4.5) lib/rack/conditionalget.rb:25:in `call'
  actionpack (3.2.16) lib/action_dispatch/middleware/head.rb:14:in `call'
  actionpack (3.2.16) lib/action_dispatch/middleware/params_parser.rb:21:in `call'
  actionpack (3.2.16) lib/action_dispatch/middleware/flash.rb:242:in `call'
  rack (1.4.5) lib/rack/session/abstract/id.rb:210:in `context'
  rack (1.4.5) lib/rack/session/abstract/id.rb:205:in `call'
  actionpack (3.2.16) lib/action_dispatch/middleware/cookies.rb:341:in `call'
  activerecord (3.2.16) lib/active_record/query_cache.rb:64:in `call'
  activerecord (3.2.16) lib/active_record/connection_adapters/abstract/connection_pool.rb:479:in `call'
  actionpack (3.2.16) lib/action_dispatch/middleware/callbacks.rb:28:in `block in call'
  activesupport (3.2.16) lib/active_support/callbacks.rb:405:in `_run__542093477292722009__call__814078438384904527__callbacks'
  activesupport (3.2.16) lib/active_support/callbacks.rb:405:in `__run_callback'
  activesupport (3.2.16) lib/active_support/callbacks.rb:385:in `_run_call_callbacks'
  activesupport (3.2.16) lib/active_support/callbacks.rb:81:in `run_callbacks'
  actionpack (3.2.16) lib/action_dispatch/middleware/callbacks.rb:27:in `call'
  actionpack (3.2.16) lib/action_dispatch/middleware/reloader.rb:65:in `call'
  actionpack (3.2.16) lib/action_dispatch/middleware/remote_ip.rb:31:in `call'
  actionpack (3.2.16) lib/action_dispatch/middleware/debug_exceptions.rb:16:in `call'
  actionpack (3.2.16) lib/action_dispatch/middleware/show_exceptions.rb:56:in `call'
  railties (3.2.16) lib/rails/rack/logger.rb:32:in `call_app'
  railties (3.2.16) lib/rails/rack/logger.rb:16:in `block in call'
  activesupport (3.2.16) lib/active_support/tagged_logging.rb:22:in `tagged'
  railties (3.2.16) lib/rails/rack/logger.rb:16:in `call'
  actionpack (3.2.16) lib/action_dispatch/middleware/request_id.rb:22:in `call'
  rack (1.4.5) lib/rack/methodoverride.rb:21:in `call'
  rack (1.4.5) lib/rack/runtime.rb:17:in `call'
  activesupport (3.2.16) lib/active_support/cache/strategy/local_cache.rb:72:in `call'
  rack (1.4.5) lib/rack/lock.rb:15:in `call'
  actionpack (3.2.16) lib/action_dispatch/middleware/static.rb:63:in `call'
  railties (3.2.16) lib/rails/engine.rb:484:in `call'
  railties (3.2.16) lib/rails/application.rb:231:in `call'
  rack (1.4.5) lib/rack/content_length.rb:14:in `call'
  railties (3.2.16) lib/rails/rack/debugger.rb:20:in `call'
  railties (3.2.16) lib/rails/rack/log_tailer.rb:17:in `call'
  rack (1.4.5) lib/rack/handler/webrick.rb:59:in `service'
  /Users/myself/.rvm/rubies/ruby-1.9.3-p448/lib/ruby/1.9.1/webrick/httpserver.rb:138:in `service'
  /Users/myself/.rvm/rubies/ruby-1.9.3-p448/lib/ruby/1.9.1/webrick/httpserver.rb:94:in `run'
  /Users/myself/.rvm/rubies/ruby-1.9.3-p448/lib/ruby/1.9.1/webrick/server.rb:191:in `block in start_thread'


  Rendered /Users/myself/.rvm/gems/ruby-1.9.3-p448@myapp/gems/actionpack-3.2.16/lib/action_dispatch/middleware/templates/rescues/routing_error.erb within rescues/layout (0.6ms)

这是继承的Gemfile和Gemfile.lock:

[myself]:myapp(upgrade/rails-3.2)$ cat Gemfile | grep inherited
gem 'inherited_resources'

[myself]:myapp(upgrade/rails-3.2)$ cat Gemfile.lock | grep inherited
    inherited_resources (1.4.1)
  inherited_resources

bundle show inherited_resources

/Users/myself/.rvm/gems/ruby-1.9.3-p448@production/gems/inherited_resources-1.4.1

为什么这些不可用?

0 个答案:

没有答案