diff --git a/app/controllers/rates_controller.rb b/app/controllers/rates_controller.rb index a62fbe3..2b6e953 100644 --- a/app/controllers/rates_controller.rb +++ b/app/controllers/rates_controller.rb @@ -2,6 +2,7 @@ class RatesController < ApplicationController helper :users before_filter :require_admin before_filter :require_user_id, :only => [:index, :new] + before_filter :set_back_url, :only => [:new, :edit] # GET /rates?user_id=1 # GET /rates.xml?user_id=1 @@ -49,7 +50,13 @@ class RatesController < ApplicationController respond_to do |format| if @rate.save flash[:notice] = 'Rate was successfully created.' - format.html { redirect_to(rates_url(:user_id => @rate.user_id)) } + format.html { + if params[:back_url] && !params[:back_url].blank? + redirect_to(params[:back_url]) + else + redirect_to(rates_url(:user_id => @rate.user_id)) + end + } format.xml { render :xml => @rate, :status => :created, :location => @rate } else format.html { render :action => "new" } @@ -100,4 +107,8 @@ class RatesController < ApplicationController end end end + + def set_back_url + @back_url = params[:back_url] + end end diff --git a/app/views/rates/_form.html.erb b/app/views/rates/_form.html.erb index 4501424..5bf5dfe 100644 --- a/app/views/rates/_form.html.erb +++ b/app/views/rates/_form.html.erb @@ -23,6 +23,7 @@