Как избежать цикла в redirect_to: back? - PullRequest
4 голосов
/ 26 июля 2011

Я использую этот помощник перед фильтром

def has_current_firm
 if current_firm.nil?
   flash[:warning] = t :error_msg
   redirect_to :back
 end
end

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

1 Ответ

0 голосов
/ 12 января 2017

Это не ответ, а просто примечание.

В Rails 5 есть redirect_back :

redirect_back fallback_location: { action: "show", id: 5 }
redirect_back fallback_location: post
redirect_back fallback_location: "http://www.rubyonrails.org"
redirect_back fallback_location:  "/images/screenshot.jpg"
redirect_back fallback_location:  articles_url
redirect_back fallback_location:  proc { edit_post_url(@post) }

Источник:

def redirect_back(fallback_location,, **args)
  if referer = request.headers["Referer"]
    redirect_to referer, **args
  else
    redirect_to fallback_location, **args
  end
end
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...