Учебник по созданию представлений для ассоциаций ActiveRecord?
При обучении студентов Rails я часто прихожу к тому, что они создали две модели и создали ассоциацию и задаются вопросом, как они могут сделать эту ассоциацию видимой в представлениях.
Теперь мой вопрос, есть ли обзорные статьи / учебные пособия / сообщения в блоге для этого,
которые дают обзор различных способов отображения ассоциаций в представлениях. Например, я вижу несколько "шаблонов ассоциации", то есть
- Ассоциация 1:n может быть Агрегацией или Композицией, как описано в UML, с различными последствиями для создания связанных объектов (которые могут указывать на вложенные ресурсы, обсуждаемые только с точки зрения маршрутизации).
- ... или что-то вроде принадлежности к категории и т. д., где вы хотите выбрать один из существующих вариантов или создать новый, если нужный объект не найден; который обрабатывается first_or_create, но, опять же, я не видел никакой документации, обобщающей различные варианты для этого представления (как, например, описывают RailsCast #57 и 258).
Я пытался найти его. Кроме того, ни в учебнике Майкла Хартла, ни в PragProgs "Гибкая веб-разработка с Rails" такого нет.
Итак, есть ли что-то там, и если нет, думают ли люди, что было бы полезно создать это?
4 ответа
Для более подробного и беспристрастного обсуждения представления графов объектов в представлениях посмотрите обсуждение Авди Гриммом того, что он называет шаблоном Exhibit:
http://objectsonrails.com/#ID-2656c30c-080a-4a4e-a53e-4fbaad39c262
Здесь есть отличные примеры и хорошее обсуждение того, где и почему может быть хорошим решением не следовать чистому пути, если ваши студенты заинтересованы в том, чтобы выйти за рамки API.
Я написал драгоценный камень для создания вложенных форм (кокон) и задокументировал, как решать все типы вложенных форм в вики этого драгоценного камня. См. https://github.com/nathanvda/cocoon/wiki/A-guide-to-doing-nested-model-forms
Надеюсь это поможет.
Некоторые Railscasts:
- Флажки для отношений "есть и принадлежат многим" (n:m): http://railscasts.com/episodes/17-habtm-checkboxes
- Вложенные формы: http://railscasts.com/episodes/196-nested-model-form-revised
Вы могли бы хотеть, чтобы они проверили драгоценный камень Драпировщика. Имеет отличную документацию и скринкасты:
https://github.com/jcasimir/draper
Это может быть не совсем то, что вы ищете, но это научит их шаблонам декоратора.
Надеюсь, это поможет!