Как передать переменную с redirect_to?

В моей функции destroy destroy я хотел бы перенаправить на индекс после удаления элемента, и я бы хотел передать переменную с именем "checked" при перенаправлении:

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

как передать эту переменную 'checked' с cars_path, чтобы в моей функции индекса я мог ее получить? ( cars_path вызывает функцию индекса)

def index
 checked = params[checked]
end

Ответы

Ответ 1

Если вы не возражаете против параметров, отображаемых в URL-адресе, вы можете:

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

Если вы действительно возражаете, вы можете пройти по переменной сеанса:

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