rails 2.3.2

Hi all,

I am using rails v.2.3.2 and if I put following line to my
ApplicationController:

include LoginSystem

and I moved my login_system.rb to lib folder:

module LoginSystem
  protected

  def is_logged_in?
    @logged_in_user = User.find(session[:user]) if session[:user]
  end

  def logged_in_user
    return @logged_in_user if is_logged_in?
  end

  def logged_in_user=(user)
    if !user.nil?
      session[:user] = user.id
      @logged_in_user = user
    end
  end

  def self.included(base)
    base.send :helper_method, :is_logged_in?, :is_admin?,
:logged_in_user
  end
end

This does work under RAILS 2.1.1, but not under 2.3.2
It says: undefined method `is_logged_in?' for
#<ActionView::Base:0x78cf044>

Cheers
P.

Use authlogic...

Library methods are not accessible in view.

Hi Petan,

instead of using is_logged_in?.
give a try for logged_in? method.

still problem then define method is_logged_in? method in application_helper

def is_logged_in?

session[:user]

end

I hope this will work.

-Sandip R~

I moved all the stuff from my lib/login_system.rb to the
application_helper.

And I got this ubly error: NoMethodError .... undefined method
`helper_method' for #<Module:0x75f19f8>

So I added following line to my application_controller:

helper_method :logged_in_user, :check_administrator_role,
:check_moderator_role, :login_required, :is_logged_in?, :is_admin?

but still no luck. :frowning:
Still the same error.

Cheers
P.

Sandip Ransing wrote:

I moved all the stuff from my lib/login_system.rb to the

application_helper.

Dont’ do this keep your lib/login_system.rb as it is.

restart server

lib methods are accessible in controller, only problem with views.

If you wanted to access them in view

add following line in your application controller

helper_method :method_name