初期化子からafter_createがActiveRecordモデルに動的に追加されるRailsアプリケーションがあります。
instance_evalを試しました
Foo.instance_eval do
send "after_create", lambda{|r| r.some_method}
end
およびclass_eval
Foo.class_eval do
after_create lambda{|r| r.some_method}
end
Foo.new._create_callbacks
それらを作成した直後に実行すると、両方のコールバックが返されます。
Railsサーバーにリクエストを送信すると、2つのコールバックが消えます。
この問題は開発時にのみ発生します。ステージングとプロダクションは正常に機能しています。
を設定するconfig.cache_classes = true
とdevelopment.rb
、コールバックは持続し、消えません。
このコードを他のアプリケーションに複製しましたが、正常に動作するため、構成の問題である可能性があります。
注:lvh.meでサブドメインを使用しています
- Rails 3.1.1
- Ruby 1.9.2-p180
ありがとう :)