夠簡單的問題,但我找不到任何在線建議怎麼辦呢......我想在控制器上運行屏幕上的一個簡單的HTML表一個jQuery檢查運行更新之前行動,但我無法理解我該怎麼做,有什麼想法?Grails的控制器內運行的jQuery
我試着在jQuery中運行檢查,然後將我需要的值傳遞給使用jquery post的更新操作,但那根本不起作用,當我檢查參數時它看起來不像它當我運行只是一個定期更新...
問題是我有一個多對多的關係設置,目前,更新罰款時添加到我的清單,或更新列表中的值,但一分鐘我需要刪除一個我遇到困難,我想要做的是獲得的HTML表(包含我的鏈接項目列表)的計數,然後將其與數據庫進行比較,如果表中少於現在比在數據庫我打算從sql運行一個基本的刪除來清除現在多餘的鏈接項...
我不能工作了唯一的一點是如何控制運行中得到這個表計數,或致電控制器與此表中數通(好,我可以調用動作和行程n表號和ID但這似乎失去了所有其他參數),我曾認爲def formInstance = Form.get(id)
會得到我所有的參數,但這似乎並沒有做到這一點:(
或者是有另一種方法來重新填寫我的參數如果我有ID要交給?
任何幫助非常感謝! :)
更新控制器看起來像這樣: -
def update(Long id) {
def formInstance = Form.get(id)
int eventCount = formInstance.events.collect().count{id};
if (!formInstance) {
flash.message = message(code: 'default.not.found.message', args: [message(code: 'form.label', default: 'Form'), id])
redirect(action: "list")
return
}
formInstance.properties = params
if (!formInstance.save(flush: true)) {
render(view: "edit", model: [formInstance: formInstance])
return
}
int neweventCount = formInstance.events.collect().count{id};
println(neweventCount)
flash.message = message(code: 'default.updated.message', args: [message(code: 'form.label', default: 'Form'), formInstance.id])
redirect(action: "show", id: formInstance.id)
}
經由常規提供的PARAMS保存按鈕看起來像這樣: - [ID:3,formDesc:形式3,事件[1]。 id:2,events [1]:[id:2],_action_update:Update,events [0] .id:2,events [0]:[id:2],version :, action:index,controller:form]
但經由一個jQuery像這樣 [ID:14,敏:1,動作:更新,控制器:形式]
總括來說,我認爲第問題在於保存,但我無法解決如何糾正它。例如,如果我開始與「形」 3「事件」,然後從該表中的這些事件中的一個,然後將其保存在PARAMS看起來像這樣: -
[id:1, formDesc:form 112, events[1].id:1, events[1]:[id:1], _action_update:Update, events[0].id:1, events[0]:[id:1], version:, action:index, controller:form]
正如你可以看到現在只有兩個事件(0和1)正在顯示,並且它們會根據我的需要進行更新,但是第三個事件不再顯示在params中,並且不會根據需要從鏈接表中刪除。
我能想到的唯一方法就是從屏幕獲取表格大小,然後將其與現在正在保存的事件數量進行比較,並在保存前或保存後執行手動SQL刪除,但無法工作出瞭如何做到這一點...
我能想到的最簡單的方法是刪除所有關係並只插入用戶標記的值。 如果您不想這樣做,則需要檢查數據庫中存在的實例,並將它們與用戶標記的值進行比較。如果您選擇第二種選擇,請張貼您的觀點,看看這些值是如何來到「參數」的。 – 2013-04-08 15:55:58
我想從數據庫中刪除所有的值,希望save函數能夠將它們重新添加回去,但是當我嘗試失敗時發生錯誤,讀取'批量更新返回來自update [0]的意外行數;實際行數:0;預計:1' – MorkPork 2013-04-08 16:14:05
好的,所以發佈你的控制器和查看代碼,這將有助於理解你的問題。 – 2013-04-08 23:42:50