ruby on rails - Guest User for Devise using Null Object Pattern -
i trying implement guest user within devise, in doing user_signed_in? evaluates true how can around this?
i can't use signed_in? because have admin user if signed in on admin panel , go main website thinks signed in if use signed_in?
here code
application controller
def current_user if devise_controller? @current_user = super else @current_user ||= super || guest.new end end view
<p>welcome <strong><%= current_user.first_name %></strong></p> <ul> <% if user_signed_in? %> <li> <%= link_to 'sign out', destroy_user_session_path, method: :delete %> </li> <% else %> <li><%= link_to 'sign up', new_user_registration_path %></li> <li><%= link_to 'sign in', new_user_session_path %></li> <% end %> </ul> update
i have decided override user_signed_in? method, if devise_controller? breaking tests took out , changed applicationcontroller now.
application controller
def current_user @current_user ||= super || guest.new end def user_signed_in? current_user.is_a? user end
Comments
Post a Comment