Ручная установка return_to с помощью devise - PullRequest
5 голосов
/ 11 мая 2011

В настоящее время я использую Devise для аутентификации пользователей в моем приложении.По большому счету это работает отлично, но у меня возникают проблемы с определенным действием:

view:

<p id="save"><%= link_to "Save", new_save_path, :remote => true %></p>

saves_controller.rb:

def new
  if user_signed_in?
    @save = Save.create(:user_id => current_user.id)
    render :update do |page|
      page.replace_html "save", "Saved!"
    end
  else
    redirect_to new_user_session_path, :notice => "You need to sign in to do that."
  end
end

Как выможно видеть, поскольку действие является ajax, я не могу использовать традиционный метод before_filter :authenticate_user!.Поэтому вместо этого я перенаправляю пользователя на страницу входа.

Проблема в том, что я хочу автоматически перенаправлять пользователей обратно на предыдущую страницу, когда они вошли в систему.

Я понимаю, что могу сделать это с session[:"user.return_to"], но у меня возникли проблемыустанавливая это.Как я могу это сделать?Или я все об этом говорю не так?

1 Ответ

15 голосов
/ 11 мая 2011

Я считаю, что ключ сеанса :"#{scope}_return_to, который будет просто :user_return_to для User класса.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...