Wenn ich einen 'belongs_to Verband in einem Modell habe, würde Ich mag den fiktiven Unterschied zwischen der Validierung einer Assoziation wissen:Rails 4: Unterschied zwischen validiert Präsenz auf id oder Vereinigung
class Topping < ActiveRecord::Base
belongs_to :pancake
validates :pancake, presence: true
...
und Validierung der assoziierten Modell-ID:
class Topping < ActiveRecord::Base
belongs_to :pancake
validates :pancake_id, presence: true
...
Motivation:
einiger Code, der eine Topping auf einen Pfannkuchen zugewiesen gestoppt zu einem bestimmten Zeitpunkt in der Vergangenheit arbeiten. Die Änderung der Validierung von der Assoziation zur ID 'fixierte' das Problem, aber ich würde gerne den tieferen Grund wissen, warum.
(FYI, wenn sie in den Code schrittweise die Pfannkuchen war gültig und in der Datenbank und der Belag reagiert sowohl auf .pancake
und .pancake_id
geeignet. Sowohl die Push-Operator (pancake.toppings << topping
) und manuelle Zuordnung und speichern (topping.pancake = pancake; topping.save
) scheiterte mit einem Pfannkuchen . fehlende Validierungsfehler)