Ruby on rails 如何在保存Rails 4.2之前找到产品

Ruby on rails 如何在保存Rails 4.2之前找到产品,ruby-on-rails,ruby,Ruby On Rails,Ruby,我有一个应用程序,在这个应用程序中,我已经得到了配料,并且在发货后,配料的价值也在增加。我在保存前查找成分时遇到问题 在我交货时,我存储了配料id,因此我的控制器功能中应该有一个通过 保存前:查找配料 private def find_ingredient self.find_ingredient = find(:ingredient_id) end 保存前如何找到这种成分? 在我的控制器中 if @delivery.save @ingredient.quantity +

我有一个应用程序,在这个应用程序中,我已经得到了配料,并且在发货后,配料的价值也在增加。我在保存前查找
成分时遇到问题

在我交货时,我存储了配料id,因此我的控制器功能中应该有一个通过

保存前:查找配料

private
def find_ingredient
    self.find_ingredient = find(:ingredient_id)
end
保存前如何找到这种成分? 在我的控制器中

  if @delivery.save

    @ingredient.quantity += @delivery.unloaded
    @ingredient.save
试试这个:

private

def find_ingredient
    Ingredient.find(:ingredient_id).increment!(:quantity)
end

你可以这样做:

#app/models/delivery.rb
class Delivery < ActiveRecord::Base
   belongs_to :ingredient, inverse_of: :deliveries
   before_save :increase_ingredient

   private

   def increase_ingredient
      ingredient.increment! :quantity, unloaded
   end
end
#app/models/delivery.rb
类传递
将两个答案连接在一起很有效!谢谢def find_component component.find(component_id)component.increment!:卸载端数量