Rails3: ожидается, что admin / items_controller.rb определит ItemsController - PullRequest
0 голосов
/ 20 января 2011

Следующее вызывает неожиданное исключение:

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 Ответ

1 голос
/ 20 января 2011

Я не могу воспроизвести ошибку именно в этот раз, но я сталкивался с ней в прошлом.Из памяти вы можете сделать две вещи:

  • Перейдите в консоль Rails (rails console в каталоге вашего приложения) и введите ItemsController.Сообщение об ошибке, если оно есть, должно быть полезным.

  • Одно из хакерских исправлений, которое я использовал, - это загрузка items_controller.rb до того, как Rails начнет автозагрузку контроллеров.Вы можете либо добавить к массиву config.autoload_paths путь, либо добавить руководство require куда-нибудь в ваш application.rb.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...