同じ処理をいろんなところで実行する。

長かった夏休みも今日で終わり。どんな夏休みでしたかと問われたら「酒とRailsな夏休み」と答えよう。
というわけで本題。
同じ処理をいろんなところで実行させたい欲求は至極当然。そんな場合はapp/controllers/applicaiton.rbに

before_filter(:メソッド名, :except => [:アクション名])

とすると、全てのアクションの実行前に指定したメソッドが実行される。
exceptは特定のアクションをArrayで指定し、対象から除外する場合に使用する。
また、

before_filter(:メソッド名, :only => [:アクション名])

とすると、特定のアクションでのみ実行するように指定できる。
beforeがあればafter_filterも当然あり、機能も逆でアクションの実行後に実行される。


はじめよう Ruby on Rails

はじめよう Ruby on Rails