現在、InheritedResources(最新バージョン)アプリケーションを使用してRails 3のコントローラからコードを再利用するためのモジュールをいくつか開発しています。InheritedResourcesで正常に作成または更新アクションを実行した後のアクション
私の考えは、リソースの作成や更新が正常に行われた後に実行する必要がある動作ですが、「作成」アクションまたは「更新」アクションを再宣言することを除いて、これに対処する方法についてはわかりません。
私は現在、私は他のものの間で、セッションへのリソースのIDを追加し、私が使用して特定のリソースを設定している
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
のようなものを使用しています。リソースがBDに正常に保存された後、セッションからIDを削除したいと思います。これがafter_filterの動作です。
これまでのところ、セッションにupdated_at情報を保存し、モデルが更新されたかどうかを比較して(正常な場合)、メソッドを実行することで対処しました。
しかし、私はそれに満足していません(またちょっとハッキー)。また、更新された後もリソースで動作する他のモジュールを用意する予定で、同じアプローチを使用したくない二度。
IRには使用する必要があるフックがありますか?または進行方法に関する他のアイデア?
私はHTTPステータスコードの使用について考えていました。準備された要求が "200"か何か同様であればコードを適用するだけですが、そのアプローチのどちらかが確実でない場合(あるいは、とにかく動作する場合) – Yaraher