Проблема с использованием контроллера генератора рельсов - PullRequest
2 голосов
/ 07 декабря 2011

Я совершенно новичок в рельсах и в основном новичок в веб-разработке в целом. Я пытаюсь создать новую вкладку на странице нашего сайта. Я пытаюсь максимально эмулировать вкладку, которая уже встроена в наше приложение. Я заметил, что был контроллер и представление, связанное с вкладкой, которую я пытаюсь эмулировать, поэтому я использовал генератор rails, чтобы создать контроллер для вкладки (которая будет содержать отчет), которую я пытаюсь построить. Поэтому я запустил генератор через RubyMine (tools -> Run Rails Generator ...), дал ему имя, которое я хотел использовать, RejectedOffersReportController и использовал show и initialize в качестве двух действий. Кстати, вкладка, которую я пытаюсь эмулировать, имеет оба этих метода в контроллере, но имеет только представление для показа - я не уверен, что это значит точно.

В любом случае, вернемся к рассматриваемому вопросу - прежде всего, когда я перехожу на страницу, где я ожидаю, что вкладка будет, вкладка там не будет. Во-вторых, когда я пытаюсь перемещаться вручную (то есть вводить адрес вручную - localhost:3000/admin/rejected_offers_report), я получаю следующее сообщение в своем браузере:

Ошибка маршрутизации

неинициализированная константа Admin :: RejectedOffersReportsController

странная часть в том, что RejectedOffersReportsController нигде не найти в моем проекте, когда я выполняю поиск по всему проекту в RubyMine IDE. (Обратите внимание, что форма отчетов во множественном числе не является именем, которое я использовал в генераторе контроллера).

Любая помощь приветствуется.

ОБНОВЛЕНИЕ: хорошо, я понимаю, почему инициализация не нужна.

1 Ответ

2 голосов
/ 07 декабря 2011

По умолчанию для контроллеров используется множественная форма имени класса.Просто переименуйте файл / класс контроллера в RejectedOffersReportsController.

Проще просто следовать соглашениям Rails, если у вас нет веских причин не делать этого.

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