state_machine无法删除初始状态的记录

时间:2011-02-21 12:34:36

标签: ruby-on-rails state-machine

我现在尝试了不同的模型,我总能得到相同的结果。

model Foo
  include MongoMapper::Document

  key :title, String

  attr_accessible :title


  state_machine :state, :initial => :new do

    state :new
    state :faa

    event :faa do
      transition :new => :faa
    end

  end
end
在rails console中

bar = Foo.new
bar.state
=> "new"

bar.title = "something"
=> "something"

bar.valid?
=> true
bar.destroy
=> nil

bar.foo
bar.state
=> "faa"
bar.destroy
=> true

任何想法,为什么我无法删除数据库中的对象?我尝试了日志,但不幸的是它是空的。

1 个答案:

答案 0 :(得分:1)

您的州不应该被命名为new,因为它是一个保留的Ruby词。将此状态更改为initial,它应该会有所帮助。