gsp にテーブルがあり、各行には編集するボタンがあります。このボタンは、この行を編集するためのフォームを含むモーダル パネルを開きます。このモーダルを開くと、js 関数が実行され、コントローラーのアクションへの ajax 呼び出しが行われ、行の ID が渡されます。コントローラーでエンティティを検索し、それをビューに返します。しかし、問題は、ビューでこのオブジェクトが見えないことです..
私が持っているコードは次のとおりです。
GSP :
<a href="#modal-form" data-id="${cancha?.id}" role="button" class="open-EditCanchaModal btn btn-xs btn-info" data-toggle="modal" />
次に、このモーダルには ag:formRemote があり、プロパティを編集するために内部に 4 つの textFields があります
JS :
$(document).on("click", ".open-EditCanchaModal", function () {
var canchaId = $(this).data('id');
var newData = $.post("${createLink(controller: 'cancha', action: 'selectToEdit')}/"+canchaId);
alert("dat: "+newData); // it print dat: [object Object]
alert("can: "+newData.cancha); // it print undefined
});
グレイル:
def selectToEdit = {
Cancha cancha = Cancha.get(params.id)
println cancha // this found the correct "Cancha"
[cancha:cancha]
}
そのため、メソッド selectToEdit を呼び出した後、JS で Cancha を取得して、モーダル パネルの textFields に属性をレンダリングしたいと考えています。