ruby-on-rails – 使用rubyist-aasm(充当状态机)在转换时保持状态列

使用aasm在转换时将对象的状态持久保存到数据库的最佳方法是什么?我原以为这会自动发生,但事实并非如此.

(编辑:当我手动保存对象时,状态列确实会更新.但是在转换时没有保存.)

我找不到这个插件的很多有用的文档,所以如果你有一个有更好的文档的替代有限状态机实现的建议,这可能也有帮助.

解决方法

如果你打电话给爆炸!转型事件方法的形式,国家将坚持下去.例如,假设您有一个包含以下事件的对象:
class Book < ActiveRecord::Base
  # ... 

  aasm_event :close do
    transitions :to => :closed,:from => [:opened]
  end

  # ...
end

调用book.close会将状态设置为关闭,但不会自动保存.打电话给book.close!将设置状态*和*自动保存AR对象.

相关文章

validates:conclusion,:presence=>true,:inclusion=>{...
一、redis集群搭建redis3.0以前,提供了Sentinel工具来监控各...
分享一下我老师大神的人工智能教程。零基础!通俗易懂!风趣...
上一篇博文 ruby传参之引用类型 里边定义了一个方法名 mo...
一编程与编程语言 什么是编程语言? 能够被计算机所识别的表...
Ruby类和对象Ruby是一种完美的面向对象编程语言。面向对象编...