Search code examples
ruby-on-railsattributesupdate-attributes

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


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?


Solution

  • 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