Rails: update_attributes does not update any other existing instances referring to the same model instance

StackOverflow https://stackoverflow.com/questions/10463666

Frage

I realised the following:

  user1 = User.create - creates a model with id 1 and age  is 0

  same_user = User.find(1)

  same_user.update_attributes(:age => 18)

  p same_user.age # prints out 18
  p user1.age # prints out 0

Why doesnt the existing attribute obtain values from the database?

War es hilfreich?

Lösung

You need to reload your user. Because it's attributes are saved in memory while they are changed in the databse.

p same_user.age
p user1.reload.age
Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top