0

ログインをクリックした場所からページにリダイレクトしようとしていますが、ログインした後、前のページにリダイレクトされず、ログインページにとどまります (ユーザーは既にログインしています)。これが私のコードです:

session_helper.rb

module SessionsHelper

def sign_in(user)
    remember_token = User.new_remember_token
    cookies.permanent[:remember_token] = remember_token
    user.update_attribute(:remember_token, User.encrypt(remember_token))
    self.current_user = user
end


def redirect_back_or(default)
    redirect_to(session[:return_to] || default)
    session.delete(:return_to)
end

def store_location
    session[:return_to] = request.fullpath
end
end

sessions_controller.rb

class SessionsController < ApplicationController
  include SessionsHelper
  def new
  end
  def create
    user = User.find_by_username(params[:session][:username])
    if user && user.authenticate(params[:session][:password])   
      cookies.permanent[:remember_token] = user.remember_token
      #redirect_to root_url,:notice => "Logged in!"
        redirect_back_or user
    else
      flash[:error] = 'Invalid email/password combination' # Not quite right!
      render 'new'
    end
  end
  def destroy
    cookies.delete(:remember_token)
    #session[:user_id] = nil
    redirect_to root_url, :notice => "Logged out!"
  end
end

また、sessions_controller.rbにcreate関数を書き込んでみました

redirect_to request.referer

しかし、うまくいきません。

何か不足していますか?

ご協力いただきありがとうございます!

4

2 に答える 2