Я должен использовать has_one или belongs_to в рубине на направляющих?

Я хочу иметь a Status модель, которая будет относительно статична после некоторого пользовательского набора (и различные пользователи может иметь различные значения на состоянии).

Состояние может относиться к различным моделям, такой как Contact и Event.

так состояния, возвращенные contact.status будет отличаться от event.status

Я хочу разработать приложение так, чтобы таблица состояния имела различные типы (contacts и events).

Каковы правильная стратегия и формат для этого?

Я думаю об объявлении :has_one Status в Contact модель, и хранящий a :status_id в :contacts таблица. Так же с Event.

:statuses таблица будет иметь значение состояния, ввести, и дата.

это имеет смысл? Можно ли предложить лучший подход?

8
задан aceofbassgreg 6 October 2016 в 03:39
поделиться

2 ответа

Во-первых, отношение has_one не хранит идентификатор в текущей модели. Он ищет внешний ключ в относительной таблице. Чтобы сохранить status_id в контактах или событиях, вы должны использовать own_to.

Во-вторых, в зависимости от типа информации, которую вы храните в Status, почему это должна быть отдельная таблица? Почему бы не сделать столбец статуса в каждой модели, для которой вы хотите использовать статус? Здесь может быть полезно немного больше информации.

1
ответ дан 5 December 2019 в 14:00
поделиться
Другие вопросы по тегам:

Похожие вопросы: