我的应用程序中有一个拍卖和一个出价对象,当有人按下 BID BUTTON 时,它调用 BID CREATE Controller ,该 Controller 创建了出价,然后对拍卖对象执行其他一些操作:
出价 Controller ->创建
@auction.endtime += @auction.auctiontimer
@auction.winner = @auction.arewinning
@auction.save
拍卖模式
before_update :set_endtime
def set_endtime
self.endtime=self.starttime+self.auctiontimer
end
所以问题是:在这种特定的@ auction.save中,C如何仅跳过“回调之前”?
最佳答案
skip_callback
是一个复杂的选项。
我更喜欢使用attr_accessor:
attr_accessor :skip_my_method, :skip_my_method_2
after_save{ my_method unless skip_my_method }
after_save{ my_method_2 unless skip_my_method_2 }
这样,您可以在跳过回调时进行声明式处理:
model.create skip_my_method: true # skips my_method
model.create skip_my_method_2: true # skips my_method_2
关于ruby-on-rails - Rails 4 : Skip callback,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/19449019/