#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-адреса.