Я имел это, когда мой объект был новым и несохраненным, когда я назвал build
на нем.
build
присваивает plan_id
, и если идентификатор @plan
равен нулю, то plan_id
вашего билета будет равен нулю. Поскольку build
не подтверждает и не сохраняет, вы не узнаете об этом позже.
Другие методы добавления связанного объекта к несохраненному объекту, кажется, помнят, что он несохранен, и устанавливают идентификатор соответствующим образом. Итак, попробуйте это:
@plan.tickets << Ticket.new(...)
@plan.save