2
私は2つのドメイン..マスターと詳細を持っています。addToTag()のエラーを捕捉する方法[grails]
Master{
String masterName;
static hasMany=[details:Detail]
}
Detail
{
String detailName ;
static belongsTo =[master:Master];
}
私はエラーが詳細に存在する場合、私はmaster.saveを呼び出したとき)(
def save = {
.....
def master = new Master(params);
params.detailsName.eachWithIndex(dtName, index ->
def detail = new Detail();
detail.detailName = dtName;
....
master.addToDetails(detail);
}
.....
master.save(flush:true);
}
を保存し、マスターはまだデータを保存扱うフォームを持っています。詳細にエラーがある場合にマスターをキャンセルする方法を知りたいのですが、詳細のエラーを追跡する方法を知りたいのですが?
ありがとうございました
私はトランザクションを使用しましたが、エラー/詳細が挿入されていないことを知る方法がわかりません(名前が空白または日付がnullなど)。 私が知っている限り、詳細が有効でないときは、ヘッダがまだ挿入されているため、詳細が保存できませんでした。 addTo *()を実行すると、エラーが発生することなくオブジェクトが添付されます。しかし、あなたがsave()を実行すると、エラーがあってもエラーメッセージが表示されない場合、保存された詳細は保存されません。 – nightingale2k1
detail.validate()をチェックし、falseであればdetail.errors.each {log.debug it}を使用してエラーをチェックできます。 –