0
Я редко вижу полиморфный дизайн в отношении has_one
в схеме db.Рельсы; 1: 1 в полиморфном
Я просто хотел бы достичь 1:1
отношений между invoice_item
к другим (subscripiton_item
или usage_item
).
Я знаю, что полиморфное отношение не является хорошим дизайном.
Как я мог достичь отношений 1: 1 без полиморфных?
Должен ли я сделать FK либо также PK (который гарантирует уникальность), либо наложил на него уникальное ограничение?
SubscriptionItems
--------
- id
- title
- period_start
- period_end
UsageItems
--------
- id
- title
- description
InvoiceItems
--------
- id
- itemable_id
- itemable_type (either a subscription_item *or* a usage_item)
Я хотел бы, чтобы убедиться, что invoice_item принадлежит либо usage_item или subscription_item. – Tosh