Ruby on Rails 3.2
My sessions_controller.rb checks for 'signed_in_person' to bypass login if they already have a logged session.
My 'signed_in_person' is defined in the session_helper.rb but I get an error:
Started POST "/sessions" for 50.241.102.227 at 2014-02-25 10:12:33 -0800
Processing by SessionsController#create as HTML
Parameters: {"utf8"=>"✓", "authenticity_token"=>"fFo4EM1MOHNO1Thic6qA/uapGj8pbiNaepKYF5Ge0Tw=", "session"=>{"email"=>"dduck@blah.com", "password"=>"[FILTERED]"}, "com
mit"=>"Sign in"}
Person Load (0.1ms) SELECT `persons`.* FROM `persons` WHERE `persons`.`email` = 'dduck@blah.com' LIMIT 1
Completed 500 Internal Server Error in 66ms
NoMethodError (undefined method `sign_in_person' for #<SessionsController:0x00000004f7ace8>):
app/controllers/sessions_controller.rb:11:in `create'
The Person is in the database table when checked from console. My sessions_controller:
def create
if params[:session][:email].include? 'blah.com'
person = Person.find_by_email(params[:session][:email].downcase)
if person && person.authenticate(params[:session][:password])
sign_in_person person
redirect_back_or person
else
flash.now[:error] = 'Invalid email/password combination'
render 'new'
end
else
...
end
end
My sessions_helper:
module SessionsHelper
# For Persons
def sign_in_person(person)
cookies[:remember_token] = person.remember_token
self.current_person = person
end
def signed_in_person?
!current_person.nil?
end
...
Any ideas as to why my sessions_helper isn't helping?