我目前正在使用Devise对我的应用上的用户进行身份验证。它在最重要的时候效果很好,但我遇到了一个特定的行动有问题:
视图:
<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"]
执行此操作,但我无法设置它。我怎样才能做到这一点?或者我是不是错了?
答案 0 :(得分:15)
我认为会话密钥为:"#{scope}_return_to
,:user_return_to
类只有User
。