2011-10-21 4 views
2

flipを使用してmreq selectFieldをマッピングしてselectFieldsを動的に生成しようとしています。これが最善の方法であるかどうかは疑問です。どうすれば動的にselectFieldsを生成できますか

これは私の試みです。フリップのタイプを勉強した後、私はこれが間違ったアプローチかもしれないと考え始めています。フィードバック歓迎。

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

versionsのタイプは[[(Text,Text)]]です。

私はこのエラーが有用であるとは思わないが、これがこのアプローチで可能な場合は、タイプを正しく取得することが重要です。私はそれをやるのが難しいです、そして、このアプローチの解決策があるのか​​どうかはわかりません。

mreq,flipおよびselectFieldのタイプ定義をここで参照してください。

これは私の次の試みです。

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

私はこの

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

+0

リンクされたドキュメントによると、 'selectField'は1つの引数の関数ですが、ここでは2つの引数を指定しています(そして、それを少なくとも2つ以上取ることを期待する' flip'に提供します)。 。私はそれを修正する方法を提案するためにYesodについて十分に知りませんが、おそらくこの観察はあなた自身を始めるのを助けることができます。 –

答えて

0

のように動作するようにMREQを取得しようとしている私は、フリップはちょうどそれが可能かもしれない場合でも、実用的ではないという結論になってきました。

私は代わりにこのようなことをしています。

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

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

多分それが改善されますように、私はここにこれを残したり、別のアプローチが表示されます。

関連する問題