8

Rails 4.2、active_jobs、callback_methods

カスタム ジョブの perform メソッドで、新しいレコードを作成しました (そしてファイルを S3 にアップロードしました)。after_perform コールバックで新しいレコード ID を渡す、または取得するにはどうすればよいですか? S3 ドキュメントへのリンクを含むメール after_perform を送信したいのですが、after_perform メソッド内で ID を取得する方法がわかりません。ドキュメントによると、job.attributes を使用できますが、「未定義のメソッド属性」が表示されます。

メーラーの呼び出しを実行メソッドに移動することもできますが、コールバックを使用して正しく処理する必要があります。perform メソッドの外部で属性 (またはそれらの属性の発生場所) にアクセスする方法がわかりません。

これをコールバックに配置することにより、(コールバックで使用できる属性を特定するために) いくつかの検出作業を実行しようとしました。

 puts "job: #{ job }"

また

puts "job: #{ job.attributes }"

また

puts "job: #{ job.attributes.first }"

これらはどれも機能せず、すべてが未定義の「属性」になりました。

4

1 に答える 1