Как перенаправить на текущую вкладку и конкретную страницу kaminari?

#ruby-on-rails #kaminari

#ruby-on-rails #kaminari

Вопрос:

У меня есть метод уничтожения, с помощью которого, когда я уничтожаю продукт, я хочу перенаправиться на текущую вкладку и номер страницы, на которой я сейчас нахожусь. Я использую kaminari gem для разбивки на страницы и сохраняю как название текущей вкладки, так и текущий номер страницы в файлах cookie. Итак, если я попробую следующее, я перенаправлюсь на текущую вкладку, на которой я нахожусь:

 redirect_to "#{account_path(current_user.account)}#{cookies[:tab]}"}
  

Но если я попробую что-то вроде следующего, чтобы перенаправить на текущую вкладку вместе с текущим номером страницы, это перенаправит меня на текущую вкладку и первую страницу вместо текущей страницы. Я понятия не имею, почему это происходит, поскольку оба значения cookie сохранены правильно:

 redirect_to "#{account_path(current_user.account, page: cookies[:page])}#{cookies[:tab]}"}
  

Это метод уничтожения, который у меня есть:

 def destroy
  @product.destroy
  respond_to do |format|
    flash[:success] = "Product was successfully deleted"
    format.html { redirect_to "#{account_path(current_user.account, page: cookies[:page])}#{cookies[:tab]}"}
    format.json { head :no_content }
  end
end
  

Есть идеи о том, как я могу перенаправить на текущую вкладку и текущий номер страницы??

Ответ №1:

Дважды проверьте, что cookies[:page] имеет правильное значение и что действие show принимает параметр страницы.

Возможно, вы также захотите попробовать redirect_to :back или использовать request.referer , но я не уверен, что они сохраняют строку запроса и привязку URL-адреса.