2014-09-26 52 views
1

我已将versioned添加到我的Post模型中。如果我这样做,例如:vestal_versions在Rails控制台中递增版本,但不通过UI

1.9.3-p448 :040 >p = Post.first 
1.9.3-p448 :041 > p.version 
=> 1 

然后我通过我们网站的用户界面更新帖子。我看着服务器日志,更改被保存。

回到控制台上:

1.9.3-p448 :054 > p.version 
=> 1 

没有变化。但是,我这样做:

1.9.3-p448 :059 > p.update_attributes(category: "Announcements") 
    (1.3ms) BEGIN 
    SQL (2.2ms) UPDATE "posts" ... 
=> true 
1.9.3-p448 :060 > p.version 
=> 2 

为什么版本更新在命令行但不是当我通过UI更新记录?

回答

0

我认为这是因为上面的变量(“p”)被分配了一个Post的数据副本,而不是引用Post本身。如果我将我的变量重新分配给同一个对象,它似乎反映了版本号中通过UI进行的更新。例如: -

p = Post.find(1) 
p.version 
=>1 

(我然后通过UI更新后的1)

p.version 
=> 1 
p = Post.find(1) 
p.version 
=> 2 
相关问题