我的应用程序我已经获得了成分,并且在交付成分增加价值后也交付了Ingredients
。我在保存之前找到Ingredient
有问题。
在我的交货时,我存储了ingredient_id,所以我应该在我的控制器功能中找到成分
before_save:find_ingredient
private
def find_ingredient
self.find_ingredient = find(:ingredient_id)
end
如何在before_save中找到此成分? 在我的控制器中
if @delivery.save
@ingredient.quantity += @delivery.unloaded
@ingredient.save
答案 0 :(得分:2)
试试这个:
private
def find_ingredient
Ingredient.find(:ingredient_id).increment!(:quantity)
end
答案 1 :(得分:1)
你会做这样的事情:
#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