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

前端之家收集整理的这篇文章主要介绍了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对象.

猜你在找的Ruby相关文章