こんにちは友達。
私はここ数日、非常に苛立たしい問題に苦しんでおり、ついに私のロープの終わりにいます。少し時間があった私のチームの誰もが問題を理解することができないようで、それは私を狂気に駆り立てています!
とにかく、ユーザーがBootstrapモーダルダイアログから削除を確認したときに呼び出される削除アクションを備えたコントローラーがあります。アクションが呼び出され、リダイレクトステートメントがデバッグで正常にヒットします。Chrome開発ツールでの呼び出しが呼び出されていることも示しています。
ただし、何らかの理由で、ページがリダイレクトされることはありません。アクションに他のコードを含めずに、明示的にGoogleにリダイレクトしようとしたこともあります。私はその取引が何であるかわかりません。関連するコードを投稿します。あなたが必要とするかもしれない他のコードがあるかどうか私に知らせてください。
CatalogController.groovy
def delete = {
def catalog = Catalog.get(params.id)
if (catalog == null) {
redirect(controller: 'home', action: 'dashboard')
println "Catalog is null and cannot be Deleted"
return
}
if (request.method == "POST") {
//catalog.deleted = true TESTING UNTIL REDIRECT WORKS
if (catalog.validate()) {
userService.addUserActivity("Deleted catalog " + catalog.title, catalog.class.getName(), catalog.id, null)
flash.notice = "Catalog has been deleted"
catalog.save()
println "Catalog successfully deleted"
}
else {
flash.error = "There was an error marking the catalog deleted"
}
redirect(controller: 'home', action: 'dashboard')
return
}
[ catalog: catalog ]
}
ブートストラップモーダルマークアップ
<div id="deleteDialog" class="modal hide fade" tabindex="-1" role="dialog" aria-labelledby="myModalLabel" aria-hidden="true">
<div class="modal-header">
<button type="button" class="close" data-dismiss="modal"
aria-hidden="true">×</button>
<h3 id="myModalLabel">Delete Catalog</h3>
</div>
<div class="modal-body">
<p><strong>Are you sure you want to delete this Catalog?</strong></p>
<div class="dialogInnerInfo">
<div class="row-fluid control-group">
<label class="control-label" for="catalogNumber">Catalog Number:</label>
<div class="controls">
<label id="catalogNumber" >${catalog.legacyId}</label>
<input type="hidden" name="id" value="${catalog.id}"/>
</div>
</div>
<div class="row-fluid control-group">
<label class="control-label" for="catalogTitle">Catalog Title:</label>
<div class="controls">
<label id="catalogTitle">${catalog.title}</label>
</div>
</div>
<div class="row-fluid control-group">
<label class="control-label" for="catalogTitle">Number of Samples:</label>
<div class="controls">
<label id="catalogTitle">${catalog.sampleCount}</label>
</div>
</div>
</div>
</div>
<div class="modal-footer">
<g:remoteLink class="btn btn-primary" controller="catalog" action="delete" id="${catalog.id}" data-dismiss="modal">Yes</g:remoteLink>
<button class="btn btn-primary" value="${catalog.id}" data-dismiss="modal" onclick="${remoteFunction(action:'delete', controller: 'catalog', params: '\'id=\' + this.value')}">Click Here</button>
<button class="btn" data-dismiss="modal" aria-hidden="true">No</button>
</div>
</div>
さまざまな種類のボタン(g:links、buttons、g:remoteLinksなど)を試し、削除アクションもクリーンアップしました。また、ブラウザキャッシュ、grailsキャッシュを削除し、grails-cleanを実行し、他のタスクを実行して、問題が自分の環境にあるかどうかを確認しましたが、他のタスクもリダイレクトされません。
醜いコーディングはご容赦ください。リダイレクトが機能するとクリーンアップされます。提案や改善も歓迎します:)
お手数をおかけしますが、よろしくお願いいたします。