A atribuição proposta no vídeo não funciona.
Tentei outra atribuição conforme outro tópico aqui, que sugeria "produto.departamento = Departamento.last", mas tambem falhou.
No meu projeto, em vez de produto é Product e em vez de Departamento é Department
class Product < ApplicationRecord belongs_to :department validates :price, presence: true validates :name, length: { minimum: 4 } end
class Department < ApplicationRecord end
Abaixo os logs
irb(main):011:0> x =>
#<Product id: 10, name: "Produto top", description: "de linha mesmo", price: 0.49e0, quantity: 13, created_at: "2021-01-10 12:29:39.552848000 +0000", updated_at: "2021-01-10 12:29:39.552848000 +0000", id_departament: nil>
irb(main):012:0> x.department => nil
irb(main):013:0> x.department = Department.last
Department Load (0.1ms) SELECT "departments".* FROM "departments" ORDER BY "departments"."id" DESC LIMIT ? [["LIMIT", 1]]
Traceback (most recent call last):
1: from (irb):13
ActiveModel::MissingAttributeError (can't write unknown attribute department_id
)