2016-11-14 11 views
0

Scorecardクラスにafter_saveコールバックがあります。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

関連する問題