2012-03-03 11 views
0

バージョン2.xで動作していたレガシーRailsアプリケーションを数年前に継承しました。私はまだ、RailsとActiveRecordの基本的な概念のいくつかを頭で囲んでいます。どのように私のすべてのビューのフッターに動的セクションを追加できますか?

私はすべてのページの下部に動的なアクティビティストリームを追加して、誰かが行った最新の変更をリストします。

アクティビティストリームを取得するには、私は運命の巨大なSQLクエリを持っています。

SELECT * FROM recent_activity LIMIT 4 

で使用するために、このデータを準備するための適切な方法は何です:私のPostgresデータベースでは、私は、クエリは、私がこのように照会することができ、簡単なデータベースビュー(仮想読み取り専用テーブル、基本的には)へとなっています私のアプリケーションの1ページに1つのフッターがありますか?

独自のモデルはありますか?それ自身のコントローラー?私は何とかこれを自動的にすべてのページに含めることはできますか?

答えて

0

このクエリの内容でビューレイアウトに変数を指定する必要があります。心に来る 迅速かつ汚いソリューションは、ApplicationControllerにで「before_filter」、すなわち

before_filter :get_footer 

     def get_footer 
     # do your sql query here and save it in an instance variable like @footer 
     end 

これは、必要な値にvarieble @footerを設定し、ビューにそれがアクセスできるようにする必要がありますを使用することです。

これで、@footerを含むグローバルアプリケーションレイアウトに行を追加できます(少し出力をフォーマットすることができます)

関連する問題