У меня возникли проблемы с решением, как смоделировать следующее с ассоциациями рельсов.
UML будет выглядеть примерно так:
----------------
| CRITERIA |
----------------
|
|*
----------------
| CONTROLS | <___
---------------- \
^ \
| \
------------------- -------------------
| SCALE CONTROL | | TEXT CONTROL | .....
------------------- -------------------
-Различные элементы управления имеют совершенно разные атрибуты, поэтому STI кажется плохим выбором.
-Пользователь может указать любое количество элементов управления по критериям.
Я хотел бы сделать что-то вроде следующего:
Criteria
has_many :controls
ScaleControl
belongs_to :criteria, as: control
TextControl
belongs_to :criteria, as: control
И иметь возможность запрашивать по строкам:
criteria.controls
# displays all controls (text, scale, etc.)
criteria.controls.each { ... }
То, что я рассмотрел до сих пор:
- Эпизоды RailsCasts о полиморфных ассоциациях, и кажется, что это не очень хороший вариант использования.
- Десятки сообщений об ассоциациях рельсов здесь, но не смогли найти ничего непосредственно относящегося к делу. .
-Документация по Rails.
Существуют ли какие-либо общие шаблоны для реализации чего-то подобного в Rails?