我试图测试代码的线程安全性,并且我得到了这种奇怪的行为 - 对db(通过psql或rails console进行)的更改不会反映在pry中。
撬:
library(qmrparser)
在控制台中:
pry > MyObject.first.name
=> "Name"
我使用psql验证了名称是" Console"。
现在在撬:
console > MyObject.first.name
=> "Name"
console > MyObject.first.update( name: "Console" )
=> true
console > MyObject.first.name
=> "Console"
如果我做相反的方向,改变撬,改变反映!
撬:
pry > MyObject.first.name
=> "Name" # the change is NOT reflected!
在控制台中:
pry > MyObject.first.update( name: "Pry" )
=> true
pry > MyObject.first.name
=> "Pry"
我使用psql验证了名称是" Pry"。
可能发生什么事?模型总是不能从数据库加载最新的属性吗?