2011-10-21 8 views
2

flip을 사용하여 mreq selectField을 사용하여 매핑하여 selectFields를 동적으로 생성하려고합니다. 이것이 최선의 방법인지 궁금합니다.어떻게 동적으로 selectFields 생성합니까

이것은 내 시도입니다. 플립 유형을 연구 한 후에 이것이 잘못된 접근이라고 생각하기 시작했습니다. 피드백 환영.

[(versionRes,versionView)] <- mapM (mreq (flip (selectField "Placeholder" Nothing))) 
            versions 

versions의 유형은 [[(Text,Text)]]입니다.

오류가 유용하다고 말하는 것은 아닙니다.이 방법으로 가능하다면 유형을 올바르게 가져 오는 것이 중요합니다. 나는 그 일을하는 데 어려움을 겪고 있으며,이 접근법에 대한 해결책이 있는지 확신하지 못합니다.

mreq, flipselectField의 형식 정의를 참조하십시오.

음, 다음 시도입니다.

[(versionRes,versionView)] <- mapM (flip mreq selectField ("Placeholder" Nothing)) versions

하는 난 그냥 플립 결론에 도달 한이

mreq "Placeholder" Nothing (selectField [(Text),(Text)])

+0

링크 된 문서에 따르면'selectField'는 하나의 인자의 함수입니다.하지만 여기에 두 개의 인자를 제공합니다 (그리고 적어도 두 개 이상의 인자가 필요하다고 예상하는'flip'에 제공합니다). . Yesod가 그것을 고치는 방법을 제안하기에 충분하지는 않지만, 아마도이 관찰은 당신이 스스로 시작하도록 도울 수 있습니다. –

답변

0

같은 일을 여기서 mreq을 얻으려고하는 것은 가능할 수있다하더라도, 실용적이지 않다.

나는 이와 같이하고 있습니다. 어쩌면이 개선됩니다 또는 다른 방법이 나타나도록

generateVersionSelectFields version = do mreq (selectField version) "Placeholder" Nothing

versionInfo <- mapM generateVersionSelectFields [[(Text),(Text)]]

내가 여기를 떠나.

관련 문제