Play Framework 2.1.0 でチェックボックスを使用して多対多の関係を更新するのに問題があります。
アカウント モデル:
@ManyToMany(fetch = FetchType.EAGER)
@JoinTable(name = "account_security_role", joinColumns = { @JoinColumn(name = "account_id", referencedColumnName = "id") }, inverseJoinColumns = { @JoinColumn(name = "security_role_id", referencedColumnName = "id") })
public List<SecurityRole> roles;
アカウント編集ビューでアカウントの役割を更新したい
アカウント ビューの編集:
@for(role <- SecurityRole.find.all()) {
<div class="control-group">
<label class="control-label"> @role.description </label>
<div class="controls">
<div class="text-toggle-button">
<input type="checkbox" name="roles[@role.id].id" value="@role.id" class="toggle"
@if(loggedAccount.hasHole(role.id)) {
CHECKED
} />
</div>
</div>
</div>
}
そのため、Update メソッドを呼び出すと、次のPOST
エラーが発生します。
InvalidPropertyException
roles[3]
: Bean クラスの無効なプロパティ[models.Account
]: プロパティを不正に取得しようとしたためroles
、例外がスローされました。ネストされた例外: Bean クラス [ ] のorg.springframework.beans.NullValueInNestedPathException
無効なプロパティ:ネストされたプロパティ パスを自動拡張するためにプロパティ タイプ [ ] をインスタンス化できませんでした: :roles
models.Account
be.objectify.deadbolt.core.models.Role
java.lang.InstantiationException
be.objectify.deadbolt.core.models.Role
チェックボックスと多対多の関係を使用してモデルを更新する例はありますか?
どうもありがとう。ルー