Comment sauvegarder (insérer) uniquement des objets associés sans sauvegarder (mettre à jour) l'objet de base?ActiveRecord RoR - Enregistrer uniquement les nouveaux objets associés
Par exemple, je veux juste enregistrer les numéros de téléphone, je ne veux pas réenregistrer/mettre à jour l'objet personne.
def create_numbers
#params => person_id => 41, person => {:phone_number => '12343445, 1234566, 234886'}
@person = params[:person_id]
nums = params[:person][:phone_numbers].split(',')
nums.each do |num|
@person.phone_numbers.build(:number => num)
end
@person.save #here I just want to save the numbers, I don't want to save the person. It has read only attributes
end
Modèles:
Person < ...
# id, name
belongs_to :school, :class_name => :facility
has_many :phone_numbers
end
PhoneNumber < ...
# id, number
belongs_to :person
end
C'est un peu d'un exemple stupide, mais il illustre ce que je suis en train d'accomplir