From 2fe0bd305279074ebf3b495f18882ea17c676d95 Mon Sep 17 00:00:00 2001 From: Eric Davis Date: Mon, 19 Jan 2009 11:17:13 -0800 Subject: [PATCH] Refactored duplicate logic to a before_filter. #1914 --- app/controllers/rates_controller.rb | 50 +++++++++++++---------------- 1 file changed, 23 insertions(+), 27 deletions(-) diff --git a/app/controllers/rates_controller.rb b/app/controllers/rates_controller.rb index 7224d21..986bc75 100644 --- a/app/controllers/rates_controller.rb +++ b/app/controllers/rates_controller.rb @@ -1,25 +1,16 @@ class RatesController < ApplicationController helper :users before_filter :require_admin + before_filter :require_user_id, :only => [:index, :new] # GET /rates?user_id=1 # GET /rates.xml?user_id=1 def index - begin - @user = User.find(params[:user_id]) - @rates = Rate.history_for_user(@user) + @rates = Rate.history_for_user(@user) - respond_to do |format| - format.html # index.html.erb - format.xml { render :xml => @rates } - end - rescue ActiveRecord::RecordNotFound - respond_to do |format| - flash[:error] = l(:rate_error_user_not_found) - format.html { redirect_to(home_url) } - format.xml { render :xml => "User not found", :status => :not_found } - end - + respond_to do |format| + format.html # index.html.erb + format.xml { render :xml => @rates } end end @@ -37,20 +28,11 @@ class RatesController < ApplicationController # GET /rates/new?user_id=1 # GET /rates/new.xml?user_id=1 def new - begin - @user = User.find(params[:user_id]) - @rate = Rate.new(:user_id => @user.id) + @rate = Rate.new(:user_id => @user.id) - respond_to do |format| - format.html # new.html.erb - format.xml { render :xml => @rate } - end - rescue ActiveRecord::RecordNotFound - respond_to do |format| - flash[:error] = l(:rate_error_user_not_found) - format.html { redirect_to(home_url) } - format.xml { render :xml => "User not found", :status => :not_found } - end + respond_to do |format| + format.html # new.html.erb + format.xml { render :xml => @rate } end end @@ -104,4 +86,18 @@ class RatesController < ApplicationController format.xml { head :ok } end end + + private + + def require_user_id + begin + @user = User.find(params[:user_id]) + rescue ActiveRecord::RecordNotFound + respond_to do |format| + flash[:error] = l(:rate_error_user_not_found) + format.html { redirect_to(home_url) } + format.xml { render :xml => "User not found", :status => :not_found } + end + end + end end