我正在尝试使用 aasmstate machine
从一个state
到另一个。但它issue
是在没有调用的情况下statemachine
通过所有的。states
这是我正在使用的代码
include AASM
aasm column: 'state' do
state :pending, initial: true
state :checked_in
state :checked_out
event :check_in do
transitions from: :pending, to: :checked_in, guard: :verify_payment?
end
event :check_out do
transitions from: :checked_in, to: :checked_out
end
end
def verify_payment?
self.payment_status=="SUCCESS"
end
在这里,如果我这样做Booking.create
,它甚至最初都会返回checked_out
状态而不是预期的pending
为什么它返回last
预期状态而不是initial
??