Skip to main content
 首页 » 编程设计

ruby-on-rails中Rails 4中更新多个表条目

2025年01月19日9arxive

我还剩下大约 25 件产品,表示为 product.stock = 25。假设我卖出了 5 件该特定产品。然后,我需要将其剩余库存条目更新为 25 - 5 = 20product.stock = Product.stock - buy.quantity

我将如何在我的应用程序中执行此操作。我可以将上面的代码放在 Controller 中的某个位置吗?

我有一个满足以下要求的采购表格:

  • 能够选择现有产品,检索产品的价格
  • 指定用户想要购买的数量
  • 显示总计以及选择购买的所有产品的总计

我不确定我在这里是否表达清楚,或者该主题是否与我的问题相关。

请您参考如下方法:

我会使用 ActiveRecord 的 decrement!方法:

product.decrement!(:stock, purchase.quantity) 

如果购买模型是跟踪最终销售的模型,那么我会将此代码放入 ActiveRecord 回调中。例如:

class Purchase < ActiveRecord::Base 
  belongs_to :product 
 
  after_create :adjust_inventory 
 
  def adjust_inventory 
    product.decrement!(:stock, quantity) 
  end 
end 

购买还应该有一个 before_save 验证,以确保有足够的库存来满足订单。