0

ドキュメントによると、タイプ create または update のコミット後に実行される同じメソッドを定義できます。

after_commit :do_foo_bar, :on [:create, :update]

さて、このコードは解析エラーになります。

シンボルを整数に変換できません

次に、これを次のように変更します。

after_commit :do_foo_bar, :on => [:create, :update]

エラーは発生しませんが、何も起こりません! ログをさらに調査すると、サイレントで奇妙なエラーが表示されます。

/home/nuno/.rvm/gems/ruby-1.9.3-p385/gems/activesupport-3.2.13/lib/active_support/callbacks.rb:404: syntax error, unexpected '[', expecting tSTRING_CONTENT or tSTRING_DBEG or tSTRING_DVAR or tSTRING_END
...(transaction_include_action?(:[:create, :update]))
...                               ^
/home/nuno/.rvm/gems/ruby-1.9.3-p385/gems/activesupport-3.2.13/lib/active_support/callbacks.rb:412: syntax error, unexpected keyword_end, expecting ')'
/home/nuno/.rvm/gems/ruby-1.9.3-p385/gems/activesupport-3.2.13/lib/active_support/callbacks.rb:413: syntax error, unexpected $end, expecting ')'
Redirected to http://localhost:3000/people/1
Completed 302 Found in 7491ms (ActiveRecord: 410.6ms)

どうすればこれを適切に行うことができますか?

4

1 に答える 1