簡體   English   中英

為什么沒有為paper_trail創建的“版本”觸發AR回調?

[英]Why AR callbacks are not triggered for `Version`s created by paper_trail?

我試圖通過paper_trail每次創建一個Version時都通過在同一模型上設置回調來做一些事情,但是它不起作用。

我正在使用Rails v6.0.0.beta3和paper_trail v10.3.0。 我嘗試手動創建Version( Version.create ),它可以工作。

class Version
  after_commit :do_something, on: :create

  private

  def do_something
    p('doing something') # never gets called
  end
end

class SomeModel
  has_paper_trail
end

# creates both SomeModel and a Version but version's callbacks
# are not called/executed.
SomeModel.create

我希望Version#do_something被調用,但從未發生。

這里的問題是Version與PaperTrail :: Version不同,它似乎受支持的機制是創建一個模塊,並將其傳遞給See Here或創建自己的類See Here – Engineersmnky

@engineersmnky,您說得對,因為我使用的是自定義類,因此必須將class_name指定為has_paper_trail版本:{class_name:'Version'}。 非常感謝! –赫克托·巴斯克斯(HéctorVásquez)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM