Внешний ключ может быть обязательным или необязательным (он может содержать или не содержать ноль), поэтому вам не нужно никаких дополнительных логических полей.
в рельсах 5 по умолчанию требуется belongs_to
ассоциация, поэтому мы указываем optional
belongs_to :machine, optional: true
до рельсов 5 должно быть достаточно
belongs_to :machine
Теперь вам нужно убедиться, что у вашего поля в таблице базы данных нет ограничения null: false
, и вы настроены.
Теперь я заметил, что ваше поле называется machine
, а не machine_id
, как rails хочет по умолчанию. В этом случае попробуйте
belongs_to :machine, optional: true, foreign_key: :machine