0

如何在 Rails 中实现记住我的功能。我正在使用 authologic gem 我的 UserSession 控制器的代码是:

请建议我如何使用任何参考来实现记住我。我已尝试使用此代码,但无法实现它。

class UserSessionsController < ApplicationController
    before_filter :require_no_user, :only => [:new, :create]
    before_filter :require_user, :only => :destroy
    def new
        @user_session = UserSession.new
    end

    def create
        @user_session = UserSession.new(params[:user_session],true)
        if @user_session.save
            flash[:notice] = "Login successful!"
            unless cookies[:last_visited].nil?
                set_last_visited
            end

            cookies.permanent[:last_visited] = Time.now
            if params[:remember_me]
                user = @user_session.user
            user.update_attributes(:remember_token => create_remember_token)
                cookies[:remember_token] = { :value => user.remember_token, :expires => 24.weeks.from_now }
            end
            redirect_back_or_default users_url(@current_user)
        else
            flash[:error]="invalid login and password"
            render :action => :new
        end
    end

    def destroy
    cookies.delete(:remember_token)
        current_user_session.destroy
        flash[:notice] = "Logout successful!"
        redirect_back_or_default home_path
    end

    private

    def create_remember_token
        SecureRandom.urlsafe_base64
    end

end
4

1 回答 1

0

你试过这种方法吗?

UserSession.create(:login => "yourusername", :password => "yourpassword", :remember_me => true)
于 2013-02-02T22:12:24.073 回答