play 2.0 フレームワークのフォーム バインディングを、circumflex-orm ( website )から Record を拡張するクラスと組み合わせたいと考えています。
これらは私のクラスオブジェクトです:
class Task extends Record[Long, Task] with IdentityGenerator[Long, Task] {
def this(name: String, description: String) = {
this()
this.name := name
this.description := description
}
val id = "id".BIGINT.NOT_NULL.AUTO_INCREMENT
val name = "name".VARCHAR(255).NOT_NULL
val description = "description".TEXT.NOT_NULL
def PRIMARY_KEY = id
def relation = Task
}
そして、これは私がプレイフォームでやろうとしていることです:
val taskForm: Form[Tasks] = Form(
mapping(
"name" -> text,
"description" -> text
)
{(name, description) => Task(name, description)}
{(t: Task) => Option(t.name(), t.description()) }
)
しかし、次のようなエラーが表示されます。
found : models.Task => Option[(String, String)]
required: Unit => Option[(String, String)]
{(t: Task) => Option(t.name(), t.description())}
Option を Some に置き換えると、次のようになります。
found : models.Task => Some[(String, String)]
required: Unit => Option[(String, String)]
{(t: Task) => Some(t.name(), t.description())}
私は今無知であり、ヒントをいただければ幸いです。
どうもありがとう。
編集:私は基本的なエラーを犯しました、私はフォームに名前を付けました:
val taskForm: Form[Tasks] = Form(
クラスの名前が「タスク」の場合。だから私はそれを次のように変更できます:
val taskForm: Form[Task] = Form(
mapping(
"name" -> text,
"description" -> text
) ( (name, description) => Task )
( (t: Task) => Option() )
)
そして今、私は別のエラーを受け取ります:
Unspecified value parameter x
( (t: Task) => Option() )
Eclipse で必要な依存関係を含む単純なプロジェクトを作成しました。役立つ場合は、ここからダウンロードして参照してください。 基本的なフォームの例