Проблема пространства имен администратора Rails 3 - PullRequest
9 голосов
/ 10 сентября 2010

Я перевожу большую часть своего приложения в пространство имен администратора, и хотя есть много руководств, связанных с этим, я все еще не могу управлять.В основном я следил за этим ответом вместе с любыми результатами, которые выводит Google (все они склонны соглашаться).Может кто-нибудь сказать мне, что я делаю неправильно, чтобы я больше не терял сон?

Вот сообщение об ошибке:

неправильный тип аргумента Модуль (ожидаемый класс)

app/controllers/application_controller.rb:1:in `<top (required)>'
app/controllers/admin/admin_controller.rb:1:in `<top (required)>'
app/controllers/admin/home_controller.rb:1:in `<top (required)>'

rout.rb

namespace :admin do 
  root :to => "home#index"

  resources :users
end

admin / admin_controller.rb

class Admin::AdminController < ApplicationController

admin / home_controller.rb

class Admin::HomeController < Admin::AdminController

admin / users_controller.rb

class Admin::UsersController < Admin::AdminController

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

Спасибо.

Ответы [ 7 ]

6 голосов
/ 21 июня 2011

Я столкнулся с обратной проблемой «неправильный тип аргумента Class (ожидаемый модуль)», и оказалось, что существует помощник, определенный как класс, а не модуль, поэтому попробуйте поискать классы, которые случайно определены как модули.Как контроллер, определенный как Модуль.

3 голосов
/ 03 мая 2011

Я бы посоветовал вам переименовать Admin::AdminController в Admin::BaseController.

0 голосов
/ 02 сентября 2012

Я столкнулся с такой проблемой, когда использовал has_attached_file paperclip с недопустимыми параметрами.

0 голосов
/ 24 декабря 2011

@ Рассел, у меня возникла эта проблема, когда я создал модель AdminHelper (она должна содержать сообщения помощи администратора):)

будьте осторожны в названии вещей!

0 голосов
/ 06 мая 2011

Можете ли вы следовать приведенному ниже коду, с вашими контроллерами все в порядке, вы можете использовать маршруты, которые я указал здесь.

 class Admin::AdminController < ApplicationController


 class Admin::UsersController < Admin::AdminController

Это то же самое, что вы написали, я так думаю.

namespace :admin do
   resources :users do as_routes end
end
root :to => "home#index"
0 голосов
/ 22 марта 2011

"неправильный тип аргумента Модуль (ожидаемый класс)"

Это означает, что вы определяете «класс», но это имя уже определено как «модуль» где-то еще. Ищите, что это может быть ...

0 голосов
/ 26 января 2011

Может быть, у вас есть что-то, определенное как Admin константа?
Попробуйте новое приложение с такой же структурой, затем добавьте фрагменты из текущего и посмотрите, где оно ломается (Не очень хорошее предложение, а?).

Я использую ту же организацию для администратора, что и вы ...

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