新手问题 关于 Devise 的 resource 问题

lrbnew · 2015年06月25日 · 最后由 lrbnew 回复于 2015年06月26日 · 1877 次阅读

如题,在 rubychina 源码中,登录相关的 post 应该是发送到 session#create 吧,在这里有一段不太明白

  def create
    resource = warden.authenticate!(scope: resource_name, recall: "#{controller_path}#new")
    set_flash_message(:notice, :signed_in) if is_navigational_format?
    sign_in(resource_name, resource)
    resource.ensure_private_token!
    respond_to do |format|
      format.html { redirect_to after_sign_in_path_for(resource) }
      format.json { render status: '201', json: resource.as_json(only: [:login, :email, :private_token]) }
    end
  end
end

这里的 resource = warden.authenticate!(scope: resource_name, recall: "#{controller_path}#new") 该怎么理解?

这里的 resource 赋值,最终很明显是要返回对应的实例对象

#1 楼 @mouse_lin 好久没看到你冒泡了

@zlx_star 最近看到消息提醒都是你的 😄

#3 楼 @mouse_lin 看来你关注的人太少了 😏

#1 楼 @mouse_lin warden 是 devise 的知识吗 没找到相关文档描述这个方法啊

需要 登录 后方可回复, 如果你还没有账号请 注册新账号