Rails: update_attributes does not update any other existing instances referring to the same model instance
-
06-06-2021 - |
题
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
不隶属于 StackOverflow