1

私のアプリはRails3+ Delayed Job(2.1.4)+ Devise(2.1.2)+ Devise Async(0.3.1)です。

私はこのデバイス設定を使用して、すべてのデバイスの電子メールを非同期で送信しています。これは新規ユーザーには問題なく機能しますが、招待フローでは次のようにします。

added_user = User.new(:email => email, :added_by => current_user, :added_to => @group)

ここでの問題は、added_byとadded_toが仮想属性(attr_accessor)であるということです。また、Delayed JobAsyncがDelayedJobにジョブを挿入すると、仮想属性が存在せず、エラーが発生します。

この状況に対処する方法について何かアイデアはありますか?これは遅延ジョブの問題ですか、それともデバイス非同期の問題ですか?どこから始めればいいのか完全にはわかりませんし、グーグル検索は役に立ちませんでした。

ありがとう

4

2 に答える 2

0

私が考えることができる唯一のことは、一括割り当てを介して added_by と added_to にアクセスできるようにしていないということです。Rails のそれ以降のバージョンでは、MassAssignmentSecurityエラーを発生させることができますが、これは使用できないか、使用できない場合があります。モデルに以下を追加してみてください。

attr_accessible :added_by, :added_to
于 2012-10-11T02:39:07.177 に答える