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

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

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?

有帮助吗?

解决方案

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
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top