4

Play フレームワークの選択フィールドに「なし」オプションを追加するにはどうすればよいですか?

これまでのところ、私はこれを持っています:

<select size="1" name="object.id">
    <option value="">&{'crud.none'}</option>
    #{list items:someItems, as:'item'}
        <option value="${item.id}">${item.name}</option>
    #{/list}
</select>

しかし、「なし」の値を選択すると、再生は新しいオブジェクトを構築し、新しく作成されたオブジェクトへの参照を使用して親オブジェクトを保存しようとするため、hibernate org.hibernate.TransientObjectException が発生します。

何か案は?

4

1 に答える 1

3

noneオプションの値を 0 に設定し、場合にのみコントローラーにリレーションを追加しますif (item.id > 0)

<option value="0">&{'crud.none'}</option>

さらに、この値が必要な場合は、単純なチェックを使用しJavaScriptて、ユーザーがいくつかのオプションを選択したことを確認できます

于 2012-07-27T12:55:04.560 に答える