2016-11-14 48 views
0

我有一個after_save回調Scorecard類。傳遞一個哈希值到ActiveRecord#save

在此回調中,我創建並保存了一個不同型號的對象BalanceLedger

我需要傳遞信息給該對象的Scorecard

after_save創建這可能嗎?

例如(這是無效的,但試圖讓我的觀點)

scorecard.total = new_total 
scorecard.save(message: 'This is an Admin correction') 

class Scorecard < ActiveRecord::Base 

    after_save do 
    BalanceLedger.create!(total: total, message: params[:message]) 
    end 

回答

1

也許使用:attr_accessor設置虛擬屬性?您可以設置message值,並從回調中檢索它。

scorecard.total = new_total 
scorecard.message = 'This is an Admin correction' 
scorecard.save 

class Scorecard < ActiveRecord::Base  
    attr_accessor :message 

    after_save do 
    BalanceLedger.create!(total: total, message: message) 
    end 
end 
+0

我喜歡這個想法。讓我看看這個。 – slindsey3000