[RUBY] Rails application guest login function implemented (devise not used)


I think that the guest login function is almost indispensable when creating a portfolio of web applications.

There are several articles on the guest login function on Qiita, but currently (December 2020) most of them use devise. I implemented the login function without using devise, so I had a little trouble. If you are creating a portfolio without using devise like me, please refer to it!

Note In this article, I won't go into details on how to implement the login feature. If you want to know about the login function that does not use devise, please refer to the following article.



Guest login function implementation

** ① Create controller **


$ rails g controller guest_sessions_controller

** ② Add route ** The guest user is not deleted, so there is no destroy action.


post 'guest_login', to: "guest_sessions#create"

** ③ create action creation ** The password can be anything, but this time I set it randomly.


class GuestSessionsController < ApplicationController
  def create
    user = User.find_or_create_by(email: "[email protected]") do |user|
      user.password = SecureRandom.urlsafe_base64
      user.name = "Guest user"
      session[:user_id] = user.id
      flash[:success] = "You logged in as a guest user"
      redirect_to root_url

** ④ Create guest login button ** Add a guest login button to your favorite page. Please change the appearance as appropriate.


<%= link_to "Guest login", guest_login_path, method: :post %>

Recommended Posts

Rails application guest login function implemented (devise not used)
[Rails] Function restrictions in devise (login / logout)
Create authentication function in Rails application using devise
Use [Rails] devise Guest user function (for portfolio)
[Note] Summary of rails login function using devise ①
[Rails] Implemented hashtag function
Implementation of Ruby on Rails login function (devise edition)
Addition of guest login function
Implement application function in Rails
[Rails] (Supplement) Implemented follow function
Login function implementation with rails
[rails] Login screen implementation in devise
Implemented mail sending function with rails
Implement simple login function in Rails
[Ruby on Rails] Search function (not selected)
Rails Addition of easy and easy login function
Make a login function with Rails anyway
Implemented follow function in Rails (Ajax communication)
[Rails 6] Asynchronous (Ajax) follow function is implemented
[Rails] devise
Login function
Validation settings for Ruby on Rails login function
Implementation of Ruby on Rails login function (Session)
Basic Web application creation Servlet / JSP (login function)
Posting function implemented by asynchronous communication in Rails
[Rails] Implementation of retweet function in SNS application
[Rails] Added in devise: username not added to database
[Rails, JavaScript] Implemented like function (synchronous / asynchronous communication)
[rails devise] How to transition users who are not logged in to the login page