Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

how to pass a variable with redirect_to?

Tags:

In my controller destroy function, I would like to redirect to index after the item deleted, and I would like to pass a variable called 'checked' when redirect:

def destroy
    @Car = Car.find(params[:id])
    checked = params[:checked]

    if @car.delete != nil

    end

    redirect_to cars_path #I would like to pass "checked" with cars_path URL (call index)
end

how to pass this 'checked' variable with cars_path so that in my index function I can get it?? (cars_path calls index function)

def index
 checked = params[checked]
end
like image 698
Mellon Avatar asked Feb 03 '11 14:02

Mellon


1 Answers

If you do not mind the params to be shown in the url, you could:

redirect_to cars_path(:checked => params[:checked])

If you really mind, you could pass by session variable:

def destroy
  session[:tmp_checked] = params[:checked]
  redirect_to cars_path
end

def index
  checked = session[:tmp_checked]
  session[:tmp_checked] = nil # THIS IS IMPORTANT. Without this, you still get the last checked value when the user come to the index action directly.
end
like image 72
PeterWong Avatar answered Sep 30 '22 19:09

PeterWong