我知道我可以做這樣的事情只更新PARAMS? 喜歡的東西:存在軌
@object.update_attributes(object_params)
,它不會把空在我的數據庫,如果他們沒有通過URL傳入。所以我可以撥打 Object.update(date: Date.today, name: "ryan")
它只會更新這些項目。
我知道我可以做這樣的事情只更新PARAMS? 喜歡的東西:存在軌
@object.update_attributes(object_params)
,它不會把空在我的數據庫,如果他們沒有通過URL傳入。所以我可以撥打 Object.update(date: Date.today, name: "ryan")
它只會更新這些項目。
Ju ST選擇params
這不是nil
在你的控制器,並使用@object.update_attributes(object_params)
照常
def object_params
params.require(:object).permit(:date, :name, :thing, :item).select { |k, v| !v.nil? }
end
你可以試試這個
@object.update_attributes(params)
此外,它使用強PARAMS一個很好的做法,把這個在你的控制器
private def object_params params.require(:object).permit(:date, :name, :item, :thing) end end
結束,並用它作爲
@object.update_attributes(object_params)
試試這個:
keys = [:date, :name, :item, :thing]
object_params = params.slice(*keys).delete_if { |k,v| v.nil? }
@object.update_attributes(object_params)
你也可以做到這一點,如果帕拉姆鍵匹配模型中的列:
object_params = params.slice(*Model.column_names).delete_if { |k,v| v.nil? }
@object.update_attributes(object_params)
我確實使用強烈的參數,並嘗試過,但它沒有工作 –