Ruby on rails 将金额添加到不工作的现有金额
我正在尝试将金额添加到库存中的现有项目金额中 但这不算什么,我做错了什么Ruby on rails 将金额添加到不工作的现有金额,ruby-on-rails,ruby-on-rails-4,Ruby On Rails,Ruby On Rails 4,我正在尝试将金额添加到库存中的现有项目金额中 但这不算什么,我做错了什么 def add_item_to_inventory (theItem, theAmount) @playerinventory = Playerinventory.find(params[:id]) @item = Item.find(theItem) if !@item.nil? if !@playerinventory.item_for_inventories.find_by_
def add_item_to_inventory (theItem, theAmount)
@playerinventory = Playerinventory.find(params[:id])
@item = Item.find(theItem)
if !@item.nil?
if !@playerinventory.item_for_inventories.find_by_item_id(theItem)
@ifi = ItemForInventory.create(:item => @item, :amount => theAmount)
@playerinventory.item_for_inventories << @ifi
else
oldAmount = @playerinventory.item_for_inventories.find_by_item_id(theItem).amount
newAmount = oldAmount.to_i + theAmount.to_i
@playerinventory.item_for_inventories.find_by_item_id(theItem).amount = newAmount
end
if @playerinventory.save
return true
else
return false
end
end
false
end
def将项目添加到库存(ITEEM、theAmount)
@playerinventory=playerinventory.find(参数[:id])
@item=item.find(ITEEM)
如果@项目0.0?
如果@playerinventory.item\u用于库存。按\u item\u id(ITEEM)查找\u
@ifi=ItemForInventory.create(:item=>@item,:amount=>theAmount)
@playerinventory.item_for_Inventoryitem_for_Inventory似乎与playerinventory有关系,更新ItemForInventory后您正在保存playerinventory,您应该保存ItemForInventory或可能会更新它..如@playerinventory.item_for_Inventory.find_by_item_id(ITeem)。更新_属性(金额:newAmount)
使用bang save保存!看看出了什么问题,我想有些验证可能会失败。不过,用一个新的ItemForInventory保存就像一个符咒一样有效。@Carl船长,如果我的回答对你有帮助的话,你介意接受吗。