我的应用程序中有一个拍卖和一个出价对象,当有人按下 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/

10-13 02:16