как передать переменную с redirect_to? - PullRequest
18 голосов
/ 03 февраля 2011

В моей функции уничтожения контроллера я хотел бы перенаправить на индекс после удаления элемента, и я бы хотел передать переменную с именем '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

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

def index
 checked = params[checked]
end

1 Ответ

50 голосов
/ 03 февраля 2011

Если вы не возражаете против параметров, отображаемых в 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
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...