Ручная установка return_to с помощью devise

В настоящее время я использую 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! . Поэтому вместо этого я перенаправляю пользователя на страницу входа.

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

Я понимаю, что могу сделать это с помощью сеанса пользователя [: ". Сможет ли SeaMonkey понять это и избежать полной перекомпиляции?

Если SpiderMonkey этого не сделает, сможет ли любой другой интерпретатор? Или это в основном потенциальная новая функция, которая никого не волнует, поскольку компьютеры быстрые?

12
задан j0k 25 February 2013 в 12:56
поделиться