Так что я просто выкладываю решение, найденное мной после часа отладки.
Начиная с Xcode 9 , это может быть отслежено журналом компилятора.
Если вы прокрутите вниз до конца журнала компилятора, вы обнаружите, что эта проблема вызвана сбоем проверки типов.
Да, я думаю, вы только что нашли немного странный сценарий в Rails. Я полагаю, было бы полезно рассматривать «статус» как своего рода категорию, к которой принадлежит ошибка - в этом свете это имеет смысл.
TABLE:
Bug
id integer
desc string
status_id integer fk
Status
id integer
desc string
RAILS MODEL:
Bug
belongs_to :status
Status
has_many :bugs
Вы не объяснили точно, какие отношения между ошибкой и статусом вы хотели бы получить, но я предполагаю, что вас интересует одно из следующего:
has_many
в классе Bug и own_to
в классе Status, has_one
в классе Bug и ] own_to
в классе Status. В обоих случаях Status содержит внешний ключ. Во втором случае формулировка немного странная из-за того, что взаимно-однозначные отношения фактически асимметричны (FK должен быть только с одной стороны).
Если Status - это просто таблица поиска / "ключ-значение", похоже, вам может понадобиться связь habtm ( has_and_belongs_to_many
) между Status и ошибка. Используя habtm, вы получите объединенную таблицу bugs_statuses
, в которой есть столбцы bug_id
и status_id
вместе с таблицами ошибок и статусов.