하나의 Rails 모델에서 여러 워크 플로를 처리하는 방법은 무엇입니까?

user938363

Rails 앱에서 geekq의 Workflow gem사용 합니다. 이제 워크 플로가 다르게 종료 될 수있는 상황을 처리해야합니다. 다음은 예입니다.

A의 정상적인 흐름이 purchase order될 수있다 issue PO=>receive delivery at front desk=>receive into production warehouse. 생산 품목 및 비 생산 품목의 경우 두 가지 워크 플로우가 있습니다.

production item#: issue PO=>receive delivery at front desk=>receive into production warehouse
non-production item#: issue PO=>receive delivery at front desk

우리의 질문은 다음과 같습니다.

  1. 워크 플로는 프로덕션 및 비 프로덕션 항목에 대한 워크 플로를 처리 할 수 ​​있습니까?
  2. 대답이 '예'인 경우 다른 워크 플로를 어떻게 잘 처리 할 수 ​​있습니까?
user938363

geekq / workflow spec 에서 여기에 솔루션을 제공하는 조건부 이벤트 전환에 대한 섹션이 있습니다.

Conditions are procs or lambdas added to events, like so:

state :off
  event :turn_on, :transition_to => :on,
                  :if => proc { |device| device.battery_level > 0 }
  event :turn_on, :transition_to => :low_battery,
                  :if => proc { |device| device.battery_level > 10 }
end

When calling a device.can_<fire_event>? check, or attempting a device.<event>!, each event is checked in turn:

    With no :if check, proceed as usual.
    If an :if check is present, proceed if it evaluates to true, or drop to the next event.
    If you've run out of events to check (eg. battery_level == 0), then the transition isn't possible.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

MVC / MVP 프레임 워크에서 단일 모델 / 컨트롤러와 연관되지 않은 페이지를 처리하는 방법은 무엇입니까?

분류에서Dev

하나의 핸들러에서 여러 변경 이벤트를 처리하는 방법은 무엇입니까?

분류에서Dev

EZPublish에서 워크 플로를 구성하는 방법은 무엇입니까?

분류에서Dev

pmcmd 명령 줄을 사용하여 PERL 환경에서 PowerCenter 워크 플로의 성공 / 실패 상태를 캡처하는 방법은 무엇입니까?

분류에서Dev

여러 개체에 대해 하나의 처리기를 사용하는 방법은 무엇입니까?

분류에서Dev

Rails3 : 양식에 여러 개의 체크 박스를 구현하는 방법은 무엇입니까?

분류에서Dev

여러 통합 문서의 특정 워크 시트에서 새 통합 문서로 열을 병합하거나 복사하는 방법은 무엇입니까?

분류에서Dev

뷰에서 여러 모델을 쿼리하고 하나의 템플릿에 전달하는 방법은 무엇입니까?

분류에서Dev

Rails의 ActiveModel이 모델에 "has_secure_password"한 줄만 사용하여 모델 클래스에 메서드를 추가하는 방법은 무엇입니까?

분류에서Dev

Rails에서 여러 변수를 결합하는 방법은 무엇입니까?

분류에서Dev

여러 워크 시트에서 표를 정렬하는 방법은 무엇입니까?

분류에서Dev

Corda Testnet 네트워크에서 여러 노드를 배치하는 방법은 무엇입니까?

분류에서Dev

DD-WRT : 유선 네트워크에서 여러 AP를 수행하는 방법은 무엇입니까?

분류에서Dev

여러 저장소에서 github 워크 플로를 공유하는 가장 효율적인 방법은 무엇입니까?

분류에서Dev

jenkins 워크 플로에서 보호 된 리소스를 다운로드하는 방법은 무엇입니까?

분류에서Dev

SqlDataReader에서 여러 행 시나리오를 처리하는 방법은 무엇입니까?

분류에서Dev

파워 쿼리에서 CSV를로드 할 때 여러 따옴표를 처리하는 방법은 무엇입니까?

분류에서Dev

하나의 파일에 여러 개의 소프트 링크를 만드는 방법은 무엇입니까?

분류에서Dev

Jena에서 하나의 RDF 모델을 두 개의 모델로 분리하는 방법은 무엇입니까?

분류에서Dev

Keras에서 하나의 출력을 가진 모델의 손실로 여러 변수를 사용하는 방법은 무엇입니까?

분류에서Dev

워크 플로 트리에서 fork () && fork ()를 표현하는 방법은 무엇입니까?

분류에서Dev

관리자 패널에서 trac 워크 플로우를 수정하는 방법은 무엇입니까?

분류에서Dev

관리자 패널에서 trac 워크 플로우를 수정하는 방법은 무엇입니까?

분류에서Dev

UI 작업에서 ServiceNow 워크 플로를 트리거하는 방법은 무엇입니까?

분류에서Dev

Rails에서 여러 파일 형식을 처리하는 방법은 무엇입니까?

분류에서Dev

Ruby on Rails에서 직렬 포트 연결을 만들고 유지하는 방법, 무한 루프를 처리하여 새 메시지로 모델을 만드는 방법은 무엇입니까?

분류에서Dev

openXML을 사용하여 두 개의 워크 시트를 하나의 통합 문서로 집계하는 방법은 무엇입니까?

분류에서Dev

Rails-여러 모델을 그룹화하는 방법은 무엇입니까?

분류에서Dev

여러 필터를 사용하여 모델에서 개체를 가져 오는 방법은 무엇입니까?

Related 관련 기사

  1. 1

    MVC / MVP 프레임 워크에서 단일 모델 / 컨트롤러와 연관되지 않은 페이지를 처리하는 방법은 무엇입니까?

  2. 2

    하나의 핸들러에서 여러 변경 이벤트를 처리하는 방법은 무엇입니까?

  3. 3

    EZPublish에서 워크 플로를 구성하는 방법은 무엇입니까?

  4. 4

    pmcmd 명령 줄을 사용하여 PERL 환경에서 PowerCenter 워크 플로의 성공 / 실패 상태를 캡처하는 방법은 무엇입니까?

  5. 5

    여러 개체에 대해 하나의 처리기를 사용하는 방법은 무엇입니까?

  6. 6

    Rails3 : 양식에 여러 개의 체크 박스를 구현하는 방법은 무엇입니까?

  7. 7

    여러 통합 문서의 특정 워크 시트에서 새 통합 문서로 열을 병합하거나 복사하는 방법은 무엇입니까?

  8. 8

    뷰에서 여러 모델을 쿼리하고 하나의 템플릿에 전달하는 방법은 무엇입니까?

  9. 9

    Rails의 ActiveModel이 모델에 "has_secure_password"한 줄만 사용하여 모델 클래스에 메서드를 추가하는 방법은 무엇입니까?

  10. 10

    Rails에서 여러 변수를 결합하는 방법은 무엇입니까?

  11. 11

    여러 워크 시트에서 표를 정렬하는 방법은 무엇입니까?

  12. 12

    Corda Testnet 네트워크에서 여러 노드를 배치하는 방법은 무엇입니까?

  13. 13

    DD-WRT : 유선 네트워크에서 여러 AP를 수행하는 방법은 무엇입니까?

  14. 14

    여러 저장소에서 github 워크 플로를 공유하는 가장 효율적인 방법은 무엇입니까?

  15. 15

    jenkins 워크 플로에서 보호 된 리소스를 다운로드하는 방법은 무엇입니까?

  16. 16

    SqlDataReader에서 여러 행 시나리오를 처리하는 방법은 무엇입니까?

  17. 17

    파워 쿼리에서 CSV를로드 할 때 여러 따옴표를 처리하는 방법은 무엇입니까?

  18. 18

    하나의 파일에 여러 개의 소프트 링크를 만드는 방법은 무엇입니까?

  19. 19

    Jena에서 하나의 RDF 모델을 두 개의 모델로 분리하는 방법은 무엇입니까?

  20. 20

    Keras에서 하나의 출력을 가진 모델의 손실로 여러 변수를 사용하는 방법은 무엇입니까?

  21. 21

    워크 플로 트리에서 fork () && fork ()를 표현하는 방법은 무엇입니까?

  22. 22

    관리자 패널에서 trac 워크 플로우를 수정하는 방법은 무엇입니까?

  23. 23

    관리자 패널에서 trac 워크 플로우를 수정하는 방법은 무엇입니까?

  24. 24

    UI 작업에서 ServiceNow 워크 플로를 트리거하는 방법은 무엇입니까?

  25. 25

    Rails에서 여러 파일 형식을 처리하는 방법은 무엇입니까?

  26. 26

    Ruby on Rails에서 직렬 포트 연결을 만들고 유지하는 방법, 무한 루프를 처리하여 새 메시지로 모델을 만드는 방법은 무엇입니까?

  27. 27

    openXML을 사용하여 두 개의 워크 시트를 하나의 통합 문서로 집계하는 방법은 무엇입니까?

  28. 28

    Rails-여러 모델을 그룹화하는 방법은 무엇입니까?

  29. 29

    여러 필터를 사용하여 모델에서 개체를 가져 오는 방법은 무엇입니까?

뜨겁다태그

보관