在Rails中只有一个具有给定状态的对象全局可用

时间:2011-12-18 00:46:01

标签: ruby-on-rails ruby-on-rails-3 model-view-controller callback mongoid

我使用Rails 3.1和Mongoid。

我使用RESTful控制器。

我有一个班级,让我们说说明。

这个类有一个属性,名为:state,有两个(可能有一天更多)有效值,例如:active和:working。

我的客户希望有N个工作版本(:工作),但只有一个:每次都有活动描述。这意味着当我#activate描述时,必须停用旧的活动描述。

问题是,我一直在使用回调方法(before_validation =>:deactivate_previous_description)。只要我尝试激活工作副本就可以了。但是当我对:活动描述执行相同操作时,它会被取消激活,因为回调会将其状态切换回:working。

我做错了什么?有没有更好的方法来解决这个问题?

1 个答案:

答案 0 :(得分:0)