フォーム付きのテンプレートがあります。私はscala Helperを使用してデータフォームを処理し、Modelオブジェクトとして保存しています。私の例でわかるように、helper.selectフィールドはManyToMany ではなくManytoOneで機能します。ここで、フォームで複数のカテゴリを選択してモデルを保存できるようにしたいと考えています。フォームヘルパーでそれを行うことはできますか、それとも従来の方法で行う必要がありますか。
景色:
(..)
@helper.form(action = routes.Admin.newItem(), 'id -> "item_form", 'method -> "POST", 'enctype -> "multipart/form-data"){
<fieldset>
@helper.inputText(
itemForm("title"),
'_label -> "Titre" )
@helper.inputText(
itemForm("price"),
'_label -> "Prix" )
@helper.select(
itemForm("category.id"),
helper.options(Category.list),
'id -> "category",
'_label -> "Categorie")
@helper.textarea(
itemForm("content"),
'_label -> "Description")
@helper.inputText(
itemForm("url"),
'_label -> "URL" )
@helper.inputText(
itemForm("picture"),
'_label -> "Picture URL" )
<input type="submit" value="Ajouter">
</fieldset>
}
管理コントローラ
(..)
static play.data.Form<Item> itemForm = form(Item.class);
public static Result newItem(){
Item item = itemForm.bindFromRequest().get();
item.save();
return TODO;
}