Se ho un'associazione 'belongs_to' in un modello, mi piacerebbe conoscere la differenza concettuale tra la convalida un'associazione:Rails 4: Differenza tra convalida presenza sul id o associazione
class Topping < ActiveRecord::Base
belongs_to :pancake
validates :pancake, presence: true
...
e convalidare la associato id del modello:
class Topping < ActiveRecord::Base
belongs_to :pancake
validates :pancake_id, presence: true
...
motivazione:
alcuni codice che assegna una guarnizione per un pancake smesso di funzionare a un certo momento nel passato. Cambiando la convalida dall'associazione all'id 'risolto' il problema, ma mi piacerebbe conoscere la ragione più profonda del perché.
(A proposito, quando si passa nel codice il pancake era valida e nel database e il topping risposto sia .pancake
e .pancake_id
appropriato. Sia l'operatore spinta (pancake.toppings << topping
) e assegnazione manuale e salvare (topping.pancake = pancake; topping.save
) non riuscita con un pancake . mancante errore di convalida)