Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- module ApplicationHelper
- # How To: Create a guest user
- # https://github.com/plataformatec/devise/wiki/How-To:-Create-a-guest-user
- # if user is logged in, return current_user, else return guest_user
- def current_or_guest_user
- Rails.logger.info 'ApplicationHelper - current_or_guest_user'
- if current_user
- if session[:guest_user_id]
- logging_in
- guest_user.destroy
- session[:guest_user_id] = nil
- end
- current_user
- else
- guest_user
- end
- end
- # find guest_user object associated with the current session,
- # creating one as needed
- def guest_user
- Rails.logger.info 'ApplicationHelper - guest_user'
- guest_user_id = session[:guest_user_id] ||= User.create(:name => "guest").id
- User.find(guest_user_id)
- end
- # called (once) when the user logs in, insert any code your application needs
- # to hand off from guest_user to current_user.
- def logging_in
- Rails.logger.info 'ApplicationHelper - logging_in'
- end
- end
- class ChatController < ApplicationController
- # Sign In Required - Devise Check
- # before_filter :authenticate_user!
- def show
- # Make sure view is a member
- user = current_or_guest_user
- ......
- end
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement