Rails3:预期的admin / items_controller.rb来定义ItemsController

时间:2011-01-19 23:27:44

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

以下导致意外异常:

Expected app/controllers/admin/items_controller.rb 
to define ItemsController

Foo::Application.routes.draw do
  resources :items

  match '/admin' => 'admin/overview#index', :as => :admin
  namespace :admin do
    resources :items
  end
end


% cat app/controllers/admin/items_controller.rb
class Admin::ItemsController < Admin::BaseController
end

% cat app/controllers/admin/base_controller.rb
class Admin::BaseController < ActionController::Base


% cat app/controllers/items_controller.rb
class ItemsController < ApplicationController
end

它在Rails 2.3.5中对我有用。

代码有什么问题?我该如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

我无法在这个特定时间重现错误,但我过去遇到过它。从记忆中,你可以做两件事:

  • 转到Rails控制台(应用程序目录中的rails console)并输入ItemsController。错误消息(如果有)应该是有用的。

  • 我使用的一个hackish修复是在Rails开始自动加载控制器之前加载items_controller.rb。您可以在config.autoload_paths数组前添加路径,也可以在require的某个位置添加手册application.rb