How force that session is loaded?

后端 未结 4 854
南旧
南旧 2020-12-03 10:47

I\'m working on an application that needs to use session id information. My session is stored in cookies. The problem I have is that my session is not immediately available

4条回答
  •  清歌不尽
    2020-12-03 11:29

    I don't really understand your question. If you require a user to register or sign in before being able to access the site there should be no problem. When creating a user his information is immediately stored in a cookie. For example:

    User controller: (registering is done through users#new)

    def create
       @user = User.new(params[:user])
       if @user.save
         cookies.permanent[:remember_token] = user.remember_token
         redirect_to root_path, notice: "Thank you for registering!"
       else
         render :new
       end
     end
    

    Sessions controller: (signing in is done through sessions#new)

     def create
      user = User.find_by_email(params[:session][:email].downcase)
    
      if user && user.authenticate(params[:session][:password])
        cookies.permanent[:remember_token] = user.remember_token
        redirect_to root_path, notice: "Logged in."
      else
        flash.now.alert = "Email or password is incorrect."
        render :new
     end
    end
    

提交回复
热议问题