micheldoumit / tripvise

0 stars 0 forks source link

Prefira relações entre objetos. #20

Closed marciotoze closed 9 years ago

marciotoze commented 9 years ago

Warning Danilando mode ON

o banco não controla associação no rails, quem faz esse papel é o ActiveRecord.

Quando você faz Code.create(trip_id: <int>) o ActiveRecord ignora qualquer tipo de validação de associação e grava o inteiro que você digitou. se por algum motivo o id não for um Trip válido vai passar do mesmo jeito.

passando Code.create(trip: self) evita esse problema, no seu caso não tem diferença, pq é impossível o model setar um id errado. mas prefira associal objetos com objetos e não por ids. :*

:nail_care:

commit file reference
394c340b04580240ddd7012eb00f24bc2b9cc9f7 app/models/trip.rb#L20 #15
MarcusSky commented 9 years ago

:+1: