before_filter内でのrenderとredirect_to
before_filter内でエラーメッセージをrenderしたりエラーページにリダイレクトした場合は同時にreturn falseする必要があります。そうしないと、以降のフィルタが実行されて描画が2度以上行われるというエラーになります。
ゆきひろ認証の例で言えばこの部分。
define_method :yukihiro_login do if params[:matz] == 'yukihiro' session[:i_love_ruby] = :ofcourse redirect_to params[:from] and return false # ←この「and return false」 else yukihiro_render_check end end
ていうか、Railsはそんなことまでエラーメッセージで教えてくれるんすね。すばらしい。