class StockChange < ApplicationRecord belongs_to :delivery, optional: true, foreign_key: 'stock_event_id' belongs_to :order, optional: true belongs_to :stock_taking, optional: true, foreign_key: 'stock_event_id' belongs_to :stock_article validates :stock_article_id, :quantity, presence: true validates :quantity, numericality: true after_destroy :update_article_quantity after_save :update_article_quantity protected def update_article_quantity stock_article.update_quantity! end end