ruby-on-rails - rails 4 : Skip callback

标签 ruby-on-rails ruby callback

我的应用程序中有拍卖和出价对象,当有人按下BID BUTTON 时,它会调用创建出价的BID CREATE 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/

相关文章:

ruby-on-rails - Haml for rails,单独使用 'haml' gem 或与 'haml-rails' 一起使用

ruby - 如何使用 Site Prism 从下拉列表中选择项目?

jquery - 如何让我的代码等到循环中的所有代码执行完毕后再继续?

javascript - 为异步函数创建回调

javascript - 如何使用 Ajax 在创建后立即显示第一个且仅一个评论

ruby-on-rails - 在 Rails 中,可以更新 secret_key_base 而不丢失先前签名的数据吗?

ruby-on-rails - Rails 3.1 + Juggernaut Instant Messenger的工作示例?

ruby-on-rails - Ruby 中的时间差异(以分钟为单位)

ruby - !! (double bang) 在 Ruby 中的意思

callback - Rust 中的惯用回调