다음은 내 booking
모델에 정의 된 상태입니다.모델 당 여러 상태 (아아)를 사용할 때 특정 상태가 작동하지 않음을 확인하십시오.
1 상태 내가 booking.aasm(:booking_state).current_state
을 할 경우
aasm :booking_state,namespace: :booking_state, skip_validation_on_save: true, :whiny_transitions => false do
state :pending, initial: true
state :some_other_states
end
2 주
aasm :payment_state,namespace: :payment_state, skip_validation_on_save: true, :whiny_transitions => false do
state :pending, initial: true
state :some_other_states
end
가 지금은 적절한 state
이름을 반환합니다.
하지만 내가 수행 할 경우 부울 값 대신 error
이하를 반환합니다.
`NoMethodError: undefined method `pending?' for #<AASM::InstanceBase:0x005611e58e4cf0>`
여기에 어떤 문제가있을 수 있습니까? 내가 사용하는 경우에만 알고 모델 one
state
이 작동합니다. 그러나 모델 당 multiple states
을 사용할 때는 작동하지 않습니다.
'state'는'booking_state' 변수를 사용하고, 후자는': booking_state' 심볼을 사용합니다. 오타입니까? – mudasobwa
@mudasobwa 네, 오타입니다. 그 죄송합니다. – Abhilash
'aasm'의 마스터 브랜치는 [# "{네임 스페이스} _ # {상태}"와 같은 메소드를 선언합니까? "] (https://github.com/aasm/aasm/blob/master/lib/aasm/base.rb # L101-L104). 즉, 'booking.booking_state_pending?'이 효과가 있습니다. – mudasobwa