【问题标题】:Manually setting return_to with devise使用设计手动设置 return_to
【发布时间】:2011-08-22 21:32:29
【问题描述】:

我目前正在使用 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"] 执行此操作,但我无法设置它。我怎样才能做到这一点?还是我做错了?

【问题讨论】:

    标签: ruby-on-rails ruby-on-rails-3 session authentication devise


    【解决方案1】:

    我相信会话密钥是:"#{scope}_return_to,对于User 类,它只是:user_return_to

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2012-07-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多