我有一個導軌模型,我想從控制器的一個調用中銷燬多個記錄。我的控制器方法是類似於在導軌中刪除多個模型
def destroy_multiple
Model.destroy_all(params[:id_list])
end
我的問題是什麼是最好的方式來提交id?作爲POST請求? GET請求? DELETE請求上的URL參數?做這個的最好方式是什麼?
我有一個導軌模型,我想從控制器的一個調用中銷燬多個記錄。我的控制器方法是類似於在導軌中刪除多個模型
def destroy_multiple
Model.destroy_all(params[:id_list])
end
我的問題是什麼是最好的方式來提交id?作爲POST請求? GET請求? DELETE請求上的URL參數?做這個的最好方式是什麼?
您可以使用POST或DELETE請求來做到這一點,但我更願意將其作爲DELETE來執行。你可以做這樣的事情:
Model.where(id: params[:id_list]).destroy_all
傳遞PARAMS在url,像/模型/ destroy_multiple IDS = [1,2,3]
然後在控制器:
def destroy_multiple
Model.destroy_all(params[:id_list])
end
但要記住:
destroy
/destroy_all
:該相關聯的對象通過調用其銷燬方法delete
/delete_all
摧毀旁邊這個對象:所有關聯的對象就被破壞了,而不調用它們:破壞方法如果模型沒有相關的記錄,你應該使用delete_all因爲速度更快。
我應該如何通過帶有刪除請求的參數?作爲url參數? – sakurashinken
是將它作爲url參數發送,如「delete_path(ids_list:[1,2,3])」 –