2013-04-25 74 views
3

我有一個工作應用表單,但我想添加一個與我的模型中的任何字段都不相對應的textField。除了一個領域,一切都運轉良好。我的模型的一部分是一個UTCTime值,它表示上傳的時間戳。通過應用表格我有以下代碼:將應用表單遷移到Monadic - 獲取當前時間戳

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

我似乎無法找到等效於aformM的monadic形式。我試過如下:

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

希望有將是一元的形式同等的功能,同樣我們如何AREQ/MREQ,aopt/MOPT,等等,但我的代碼將無法編譯。所以,我的問題是:有沒有辦法使用monadic表單獲取當前時間戳?

回答

2

通常不需要顯示更新時間戳,因此在MForm monad中,您只需選擇該值並將其添加到應用結果。

currentTime <- liftIO getCurrentTime 

    (field1_Res, field1_View) <- mreq ... 

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