【问题标题】:after_destroy display unscoped value with observer class in railsafter_destroy 在 rails 中使用观察者类显示未作用域的值
【发布时间】:2018-01-18 10:05:56
【问题描述】:

我正在尝试在观察者类中使用 after_destoy 添加活动取消值,但没有值可以显示。如果预订被删除,则预订标记为已取消。 知道如何使用 after_destroy 将取消的值添加到活动中吗?

非常感谢。

这是我的观察者类:

 class BookingObserver < ActiveRecord::Observer
  def after_destroy(booking)
     Activity.add(booking.venue, booking.created_by, 
     Activity::BOOKING_CANCELLED, booking) unless booking.imported?
  end
  def after_create(booking)

   Activity.add(booking.venue, booking.created_by, 
   Activity::BOOKING_CREATED, booking) unless booking.imported?
  end
 def after_update(booking)
  Activity.add(booking.venue, booking.created_by, 
  Activity::BOOKING_UPDATED, booking) unless booking.imported?
 end
end

【问题讨论】:

    标签: ruby-on-rails ruby ruby-on-rails-3 observer-pattern


    【解决方案1】:

    1- 您可以参考gem acts_as_paranoid 处理这种情况。它很容易管理destroy(它将更新删除)和really_destroy(销毁预订)。

    1. 您创建方法 Cancel 并更新对象的已删除值,并将其用于获取取消预订对象。

    【讨论】:

    • 谢谢你,我尝试了这些选项,但如果我使用 after_destroy 选项,值会消失,但在控制台中数据仍然存在,只是标记为已取消。
    • 你能粘贴控制台的截图吗?我也想理清思路。
    猜你喜欢
    • 2011-04-14
    • 2016-04-10
    • 1970-01-01
    • 2021-09-25
    • 2011-12-18
    • 2012-03-13
    • 1970-01-01
    • 2018-07-22
    • 2013-01-31
    相关资源
    最近更新 更多