Le associazioni dicono a Rails come i modelli sono collegati, e in cambio ti danno metodi per muoverti tra i dati senza scrivere join a mano.

class Provider < ApplicationRecord
  has_many :launches, dependent: :destroy
end

class Launch < ApplicationRecord
  belongs_to :provider
end

spacex = Provider.find_by(name: "SpaceX")
spacex.launches.count          # tutti i lanci del provider
launch.provider.name           # dal lancio al provider
spacex.launches.create(name: "Starship")

belongs_to vuole la colonna provider_id sulla tabella dei lanci (la crei in migrazione con t.references :provider). Da lì Rails costruisce le query giuste.

Aggiungi dependent: :destroy e cancellando un provider elimini anche i suoi lanci: comodo, ma usalo con la testa.