2013-04-25 2 views
3

신청서 양식이 있습니다.하지만 내 모델의 어떤 입력란에도 해당하지 않는 textField를 추가하고 싶습니다. 하나의 필드를 제외한 모든 것이 정상적으로 작동합니다. 내 모델의 일부는 업로드 타임 스탬프를 나타내는 UTCTime 값입니다. 실용적 형태로 나는 다음과 같은 코드를 가지고 :신청서를 모나드로 이전 - 현재 타임 스탬프 받기

-- some stuff 
<*> aformM (liftIO getCurrentTime) 
-- more stuff 

을 나는 모나드 형태의 aformM에 동등를 찾을 수 없습니다. 마찬가지로 우리가 등 AREQ/여기서 mreq, aopt/mopt을,이 방법으로, 모나드 형태에 상응하는 기능이있을 것이라고 기대하고

(timeRes, timeView) <- mformM (liftIO getCurrentTime) 

,하지만 내 코드는 컴파일되지 것입니다 : 나는 다음을 시도했다. 그래서, 내 질문은 : 모나드 양식을 사용하여 현재 타임 스탬프를 얻는 방법이 있습니까?

답변

2

일반적으로 업데이트 타임 스탬프는 표시 할 필요가 없으므로 MForm 모나드에서 값을 선택하고 적용 결과에 추가하면됩니다.

currentTime <- liftIO getCurrentTime 

    (field1_Res, field1_View) <- mreq ... 

    let myRecord_Res = MyRecord <$> pure currentTime <*> field1_Res <*> field2_Res <*> ...