Неопределенный метод «переупорядочения» для # с использованием ActiveAdmin

StackOverflow https://stackoverflow.com/questions/9384346

Вопрос

У меня проблема с ActiveAdmin, использующим Ruby ruby 1.9.2p290 и Ruby on Rails 3.2.1.

Я использовал эту вики-страницу для настройки ресурса для AdminUsers, который отлично работает: Ваш первый ресурс администратора: AdminUser

После этого я хотел создать ресурс для моей модели проекта.Миграция для этого выглядит следующим образом:

родовое слово

Моя модель проекта:

родовое слово

И это project_controller:

родовое слово

Файл admin / projects.rb в настоящее время «пуст»

родовое слово

И после всего этого я получаю следующую ошибку:

родовое слово

И я понятия не имею, в чем проблема ...

Это было полезно?

Решение

А, я нашел решение. Я не знаю точно, почему произошла ошибка, но мне пришлось изменить свой application_controller.

В application_controller я загрузил все проекты в @projects:

родовое слово

Это сбивало ActiveAdmin с толку.После того, как я изменил это на

родовое слово

и действие index_controller для

родовое слово

все работало нормально;)

Другие советы

Более простое решение - просто пропустить фильтр в конкретном активном контроллере администратора:

родовое слово

Активный администратор производит специальную обработку переменных кода кода.Где @resource - это соответствующее имя класса, переданное в метод регистрации.Итак, для кода:

родовое слово

имя переменной

родовое слово

Нельзя присваивать значение переменной с таким именем.Также такие переменные могут быть объектом класса ActiveRecord :: Relation.И то, как @Oliver напишет имя типа @projects_all, - хороший выбор.Использование skip_before_filter тоже решает проблему.

Одну хитрость нужно проверить.Контроллер ресурса может не иметь никаких фильтров.Контроллер ресурса может вообще не существовать.Какое имя фильтра поместить в skip_before_filter?А где такие фильтры?В любом случае используется контроллер приложения по умолчанию.Фильтр может быть установлен на главном контроллере приложения.Сообщение об ошибке этой проблемы совсем не информативно.Поэтому необходимо также проверить контроллер приложения на наличие установленных фильтров.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top