Проблема маршрутизации Rails, действие пропускается

У меня странная проблема, когда кажется, что Rails пропускает выполнение моего конкретного действия. У меня есть две среды, в которых я это запускаю. Одна (разработка) работает нормально и запускает действие. Другой (постановка) не запускает действие.

Ошибка заключается в том, что Rails не может найти шаблон в каталогах представлений для моего данного действия, которое должно отвечать только JSON (без шаблона). Я зарегистрировал действие, и оно просто не запускается. Rails сразу отказывается говорить, что представление не существует.

Просто чтобы покрыть свои базы, я проверил, что код действительно тот же, что мой файл маршрутов точно такой же, и что моя версия рельсов (3.0.1) точно такая же между двумя env. Любая помощь будет отличной здесь.


person localshred    schedule 18.03.2011    source источник


Ответы (1)


Судя по всему, это относится к отделу фейспалма. Один из наших разработчиков зафиксировал новый контроллер с другим именем файла, но тем же именем класса контроллера, что и другой. Должно быть, в разработке rails сначала загружал новый контроллер, поэтому старый контроллер переопределял его, и проблема была скрыта. Однако на этапе кажется, что новый контроллер был загружен последним, что поглотило класс и метод нашего контроллера, и все испортилось.

Мне было бы интересно узнать, сталкивались ли другие с этой проблемой в рельсах. Возможно, потребуется исправить код загрузки контроллера, чтобы всегда использовать один и тот же механизм сортировки (похоже, имя файла было бы наиболее естественным).

person localshred    schedule 18.03.2011