5

我目前正在使用设计认证用户在我的应用程序。这对大多数工作点很好,但我有一个具体的行动麻烦:手动设置return_to与设计

观点:

<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 

正如你所看到的,因为动作是一个阿贾克斯之一,我不能使用传统的before_filter :authenticate_user!方法。相反,我将用户重定向到登录页面。

的问题是,我想,当他们。

记录到自动重定向用户返回到前一页我明白我可以用session[:"user.return_to"]做到这一点,但我有麻烦设置它。我怎样才能做到这一点?或者,我是否全力以赴?

回答

15

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

+0

优秀!那完美的工作!感谢那。 – goddamnyouryan 2011-05-11 04:59:51

+2

谢谢!我用这个和'after_sign_in_path_for(resource)'一起使用,就像在这个回答中提到的那样:http://stackoverflow.com/a/3921517/337903。 – Nick 2012-07-18 18:11:45