LoginSignup
0
0

ゲストログイン機能

Posted at

ポートフォリオを作成するにあたってお試しで使いやすくするために、ゲストログイン機能を作成しました。

参考記事:簡単ログイン・ゲストログイン機能の実装方法(ポートフォリオ用)

(1)ルーティングに記述。

devise_scope :user do
  post 'users/guest_sign_in', to: 'users/sessions#guest_sign_in'
end

(2)「guest_sign_in」アクションを設定するため、「session_controller.rb」を作成し記述。
sign_in user でユーザーとしてログイン。

def guest_sign_in
  user = User.guest
  sign_in user
  redirect_to posts_top_path
end

(3)ゲストユーザーを作成するメソッドをUser.rbに記述。

  • 「find_or_create_by」はデータを自動検索し、条件に該当したデータがあればデータの値を返し、存在しなければ新規作成するRailsのメソッド。
  • 今回はパスワードを6文字以上~12文字以内で作成するように制限をかけているので「SecureRandom.urlsafe_base64」にてランダムな文字列を作成する上で6文字で作成できるように文字数を指定。
def self.guest
  find_or_create_by!(email: "guest@example.com")
  user.password = SecureRandom.urlsafe_base64(6)
 user.name = "ゲスト"
 user.account_id = "guest123"
end
0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0