2011-02-06 1 views
23

AASM을 사용하고 있습니다. 어떤 주에서든지 전환 할 수 있습니까? 예를 들어 :AASM : 어떤 상태에서 전환합니까?

aasm_event :publish do 
    transitions :to => :publish, :from => ANY_STATE 
end 

나는 :from에 국가의 배열을 전달하는 것이 가능하다는 것을 알고 있지만이 난 후 무엇을하지 않습니다. :from을 완전히 생략하려고 시도했지만 작동하지 않았습니다.

답변

53

aasm 지금 어떤 상태에서 전환 수 지정된 from없이 전환을 지원합니다.

aasm_event :publish do 
    transitions to: :publish # from ANY 
end 

(자랑 권리를 : 나는 그것을 필요로하기 때문에이 기능을 추가)

+4

코드베이스에 기능을 추가해 주셔서 감사합니다. 모든 AASM 릴리스 3.0.10 이상은 이것을 포함합니다. – alto

5

aasm_states 클래스 메서드를 통해 상태를 가져올 수 있습니다 (코드에서 이미 이미 정의 된 경우).

aasm_event :publish do 
    transitions :to => :publish, :from => aasm_states.map(&:name) 
end 
+0

완벽한을, 감사합니다. – gjb

+4

대답은 Thx이지만 해킹을 느낍니다. AASM은 all 또는 any를 지원해야합니다. – pschang