私は現在、ExplicitResources(最新バージョン)アプリを使用して、Rails3上のコントローラーからのコードを再利用するためのいくつかのモジュールを開発しています。
私の考えは、リソースの作成または更新が成功した後に実行する必要がある動作を行うことですが、「作成」または「更新」アクションを再宣言することを除いて、これに取り組む方法がわかりません。
私は現在次のようなものを使用しています
module SessionStorable
extend ActiveSupport::Concern
include Base
included do
before_filter :setup_resource, :only => :new
after_filter :reset_session_resource_id, :only => [:create, :update]
end
# ....
end
使用する特定のリソース設定があり、特に、リソースのIDをセッションに追加します。リソースがBDに正常に保存されたら、そのIDをセッションから削除したいと思います。これがafter_filterの機能です。
これまで、updated_at情報をセッションに保存し、モデルが更新されたかどうかを比較して(更新されている場合は正常に実行されているはずです)、メソッドを実行することで対処してきました。
ただし、私はそれに満足していません(ちょっとハッキー)。また、リソースが更新された後もリソースを処理し、同じアプローチを2回使用したくない他のモジュールを用意する予定です。
使用すべきIRのフックはありますか?または、続行する方法に関する他のアイデアはありますか?