0

Railsでremember me機能を実装する方法。私は authologic gem を使用しています 私の UserSession コントローラーのコードは次のとおりです。

参考までに、remember me の実装方法を教えてください。このコードを試してみましたが、実装できませんでした。

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 に答える