Как передать переменную с 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