0
我傳遞嵌套的JSON進入軌道,像這樣:軌道4 - 遍歷嵌套的JSON PARAMS
{
"product": {
"vendor": "Acme",
"categories":
{
"id": "3",
"method": "remove",
},
"categories":
{
"id": "4"
}
}
}
,以更新產品的類別。我想遍歷類別在我products_controller屬性,這樣我可以添加/刪除產品的多個類別一次:
def updateCategory
@product = Product.find(params[:id])
params[:product][:categories].each do |u|
@category = Category.find_by(id: params[:product][:categories][:id])
if params[:product][:categories][:method] == "remove"
@product.remove_from_category(@category)
else
@product.add_to_category(@category)
end
end
end
然而,這僅僅使用了第二個「類別」 ID在更新和沒有按不會迭代兩者。 示例響應JSON:
{
"product": {
"id": 20,
"title": "Heavy Duty Aluminum Chair",
"product_price": "47.47",
"vendor": "Acme",
"categories": [
{
"id": 4,
"title": "Category 4"
}
]
}
}
正如你所看到的,它只是添加了ID = 4的類別,並跳過了3類
我是相當新的軌道,所以我知道我可能在這裏丟失了明顯的東西我玩過我傳入的JSON格式,但這隻會讓事情變得更糟。
這是有道理的。如果我改變它,但是在這一行我得到一個錯誤:「沒有將符號隱式轉換爲整數」:「@category = Category.find_by(id:params [:product] [:categories] [:id] )「 – Seanvm
@Seanvm我給我的答案增加了一些。看看是否有幫助。 – rdubya
工作!謝謝! – Seanvm