Cat.first.toys << Toy.create!(:name => 'Toy 1')
Последовательность кода будет выполняться следующим образом:
tmp_toy = Toy.create!(:name => 'Toy 1')
Cat.first.toys << tmp_toy
Поэтому, когда вы создаете новую игрушку, вы не указали нужного кота, который вызывает ошибку.1005 *
Вы можете использовать следующее:
Cat.first.toys.create!(:name => 'Toy 1')