Yesod 1.2를 배우려고하는데 YesodAuth 인스턴스에 저장된 IO 및 정보에 액세스하는 방법을 알 수 없습니다.Yesod Form에서 입출력을 preform하는 방법은 무엇입니까? Yesod 1.2에서 aformM과 동등한 것은 무엇입니까?
예를 들어, Yesod 1.2에서 getCurrentTime을 호출하는 방법을 알 수 없습니다. Yesod 1.1에서 "aformM (liftIO getCurrentTime)"을 호출하여 양식 안의 현재 시간을 얻을 수 있습니다.
마찬가지로 Yesod 1.2에서는 "requireAuthId"를 호출하는 방법을 알 수 없습니다. Yesod 1.1
, 당신은 두 줄의 코드와 데이터의 두 비트는이 코드에서 < *> aformM로 시작 할 수 얻을 :
commentForm :: EntryId -> Form Comment
commentForm entryId = renderDivs $ Comment
<$> pure entryId
<*> aformM (liftIO getCurrentTime)
<*> aformM requireAuthId
<*> areq textField (fieldSettingsLabel MsgCommentName) Nothing
<*> areq textareaField (fieldSettingsLabel MsgCommentText) Nothing
나는 현재 코드에서이 질의에 의지 한 그 "commentForm"을 호출하지만 지금은 시간과 사용자의 ID를 여러 번 얻어야 만하는 것처럼 바보처럼 보입니다.
commentForm :: UTCTime -> UserId -> EntryId -> Form Comment
commentForm theTime userId entryId = renderDivs $ Comment
<$> pure entryId
<*> pure theTime
<*> pure userId
<*> areq textField (fieldSettingsLabel MsgCommentName) Nothing
<*> areq textareaField (fieldSettingsLabel MsgCommentText) Nothing
도움말! 나는 문서들을 여러 번 사용 해왔고 그저 내 머리를 감쌀 수 없다.
AH, 인증 ID에는 "lift requireAuthId"를 사용하면됩니다. 나는 그것을 시도했다고 생각했지만, 나는 가질 필요가 없다고 생각합니다. – tim93422
Yesod, 도서 및 다양한 포럼 및 우편 그룹에 대한 귀하의 도움에 감사드립니다. 당신과 당신과 함께 일하는 다른 사람들은 저를 정말로 감동 시켰습니다. – tim93422
기쁨, 나는 당신이 yesod를 즐기고있어 기쁘다! –