6
我々は例えば、私たちのモデルファイルで2つの単純なオブジェクトを定義した場合: -Yesodの外部キー用の申請フォームにフィールドを定義する方法は?
Person
name Text
Age Int
Book
title Text
author Text
我々はブックのための応用的フォームを定義することができますように: -
addBookForm = renderDivs $ Book
<$> areq textField "title" Nothing
<*> areq textField "author" Nothing
しかし
、我々は変更したい場合だけでテキストフィールドから、人のIDへの著者、: -Book
title Text
author PersonId
その後、上記のフォームは、このエラーで、コンパイルされません: -
Couldn't match expected type `KeyBackend Database.Persist.GenericSql.Raw.SqlBackend Person' with actual type `Text'
Expected type: Field
sub0
master0
(KeyBackend Database.Persist.GenericSql.Raw.SqlBackend Person)
Actual type: Field sub0 master0 Text
In the first argument of `areq', namely `textField'
In the second argument of `(<*>)', namely
`areq textField "author" Nothing'
どのように我々は今、著者のフィールドを定義していますか? モナド形式を使用する必要がありますか?
ありがとうございます!