1

セクション8.2MichaelHartlのRoR3.2チュートリアルを実行していますが、ユーザーがサインインしていないようです。チュートリアルを正確に実行しましたが、デバッグして印刷すると、何らかの理由で@current_userが空白になります。サインインフォームを送信した後のビュー。コードを何度も調べましたが、何も問題がないようです。助けていただければ幸いです。ありがとうございました。

module SessionsHelper

    def sign_in(user)
        cookies.permanent[:remember_token] = user.remember_token
        self.current_user = user
    end

    def signed_in?
        !current_user.nil?  
    end

    def current_user=(user)
        @current_user = user
    end

    def current_user
        @current_user ||= User.find_by_remember_token(cookies[:remember_token])
    end

    def sign_out
        self.current_user = nil
        cookies.delete(:remember_token)
    end
end

私のsessions_controller.rb

class SessionsController < ApplicationController

def new
end

def create
    user = User.find_by_email(params[:session][:email].downcase)
if user && user.authenticate(params[:session][:password])
        sign_in user 
        redirect_to new_job_url
    else
        flash.now[:error] = 'Invalid email/password combination'
        render 'new'
    end
end

def destroy
  sign_out
  redirect_to root_url
end

終わり

4

0 に答える 0