Какова стандартная практика для приложения rails, когда стандартный 'show.html.erb' для одной модели, по сути, просто перечисляет has_many
другой модели? Для «дочерней» модели нет index
, так как без контекста ее «родительской» модели их список был бы бесполезен.
Создание /parents/1/children/1 кажется правильным (особенно с точки зрения API), и все же на странице /parents/1 не будет ничего, кроме небольшой кнопки с надписью «продолжить» ... снова , бесполезный.
Создаю ли я отдельные маршруты, подобные приведенному выше, исключительно для API, или мне не хватает более чистого способа «Railsy».
ИЗМЕНИТЬ
Я не уверен, что вышеизложенное совершенно ясно. Если у меня есть Exam
, который полностью состоит из Questions
, будет ли способ Rails ссылаться на /exam/1/questions
или только на /exam/1
со списком вопросов. Очевидно, что в большинстве случаев API перейдет к /exam/1/questions
, но как насчет стандартной HTML-страницы? Вроде бы хочет быть /exam/1
но при вложенных ресурсах маршрут create
(по умолчанию) переходит на маршрут /exam/1/questions
. Если на маршруте /exam/1/questions/new
возникает ошибка проверки, форма снова отображается на маршруте create
(/exam/1/questions
); если страница затем обновляется, вы получаете ошибку 404, так как для детей нет индекса.
Все это наводит меня на мысль, что Rails ожидает index
действия для большинства моделей; но в приведенном выше примере это кажется странным.