モンキーパッチ
ソースコードに手をいれず振る舞いを変える手法、モンキーパッチって本当にできるのか確かめたときのメモ。
Rails3系だと、APP_ROOT/config/initializersにパッチを入れる。
patch.rb
class UsersController < ApplicationController def index raise "huge" @users = User.all end def new @user = User.new respond_to do |format| format.html # new.html.erb format.json { render json: @user } end end end
反映させるにはサーバを再起動する必要がある。
このパッチを当てるとUserContollerのメソッドがpatch.rbのUserControllerに"すべて"置き換わった。(update、edit、destroyが消えた。)
メソッド単位で上書きしたい時はaliasとかMix-inとか使うのかな。
参考:http://d.hatena.ne.jp/miau/20110516/1305555914
http://d.hatena.ne.jp/namutaka/20110222/1298388814