2 단계로 매우 간단! devise 도입 방법! ! (rails5 버전)

6119 단어 Mac루비Railsdevise
안녕하세요!
이번 첫 게시물이 기사에서는 devise를 사용하여 로그인 기능을 구현하는 방법을 알려드립니다.
설치에서 실제로 표시시켜 로그인할 때까지의 흐름을 해설하고 싶습니다.

devise란?



원래 devise란 무엇입니까?
devise는 로그인 기능이나 사용자 등록 기능 등을 쉽게 구현할 수 있는 gem입니다.
초기 상태에서는 이메일과 비밀번호를 설정하여 로그인 및 가입할 수 있습니다.
회원 기능을 구현하고 싶을 때는 꼭 사용하고 싶은 gem 이군요!

1단계: devise 설치



먼저 devise를 설치합시다.

Gemfile의 맨 아래에 'gem 'devise''를 씁니다.

Gemfile
gem 'devise'

추가한 gem을 애플리케이션에 로드합니다.
다음을 터미널에서 치자.
$ bundle install

그리고 devise의 초기 설정을 실시합니다.
$ rails g devise:install

아래와 같은 표시가 되면 설치는 성공입니다!


2단계: 로그인 화면 표시



그럼 실제로 로그인 화면을 표시합시다.
이번에는 사용자 정보를 저장하기 위한 사용자 테이블을 데이터베이스에 만들어 갑니다.
테이블 이름은 "User"입니다.
다음을 터미널에 넣자.
$ rails g devise User

본래, 1로부터 테이블을 작성하는 경우는 테이블과 함께 컬럼도 작성해 줄 필요가 있습니다만, devise를 사용하면 유저 테이블과 컬럼을 자동적으로 작성해 줍니다.
실제로 작성된 마이그레이션 파일을 검토해 봅시다.

db/migrate/(년월일시분초)_devise_create_users.rb
class DeviseCreateUsers < ActiveRecord::Migration[5.2]
  def change
    create_table :users do |t|
      ## Database authenticatable
      t.string :email,              null: false, default: "" #メールアドレス
      t.string :encrypted_password, null: false, default: "" #パスワード

      ## Recoverable
      t.string   :reset_password_token
      t.datetime :reset_password_sent_at

      ## Rememberable
      t.datetime :remember_created_at

      ## Trackable
      # t.integer  :sign_in_count, default: 0, null: false
      # t.datetime :current_sign_in_at
      # t.datetime :last_sign_in_at
      # t.string   :current_sign_in_ip
      # t.string   :last_sign_in_ip

      ## Confirmable
      # t.string   :confirmation_token
      # t.datetime :confirmed_at
      # t.datetime :confirmation_sent_at
      # t.string   :unconfirmed_email # Only if using reconfirmable

      ## Lockable
      # t.integer  :failed_attempts, default: 0, null: false # Only if lock strategy is :failed_attempts
      # t.string   :unlock_token # Only if unlock strategy is :email or :both
      # t.datetime :locked_at


      t.timestamps null: false
    end

    add_index :users, :email,                unique: true
    add_index :users, :reset_password_token, unique: true
    # add_index :users, :confirmation_token,   unique: true
    # add_index :users, :unlock_token,         unique: true
  end
end

로그인 기능에 필요한 열은 이메일 주소와 비밀번호입니다. 이메일 주소는 t.string :email,……의 행, 비밀번호는 t.string :encrypted_password,……의 행입니다.

확인이 완료되면 이 파일을 데이터베이스로 마이그레이션합니다.
$ rails db:migrate

여기까지 하면 준비 완료입니다!
마지막으로 브라우저에서 봅시다.

rails s로 서버를 시작하고 URL 뒤에/users/sign_in을 입력하여 로그인 화면을 엽니다.

이렇게 표시되어야합니다.
그런 다음 URL 뒤에/users/sign_up을 입력하여 가입 화면을 엽니다.


이 표시가 되면 완성입니다.
나머지는 원하는대로 다시 작성하여 원래 사이트를 만드세요!

 



끝까지 읽어 주셔서 감사합니다!
앞으로 더 자세한 기사나 발전적인 내용을 써 가고 싶습니다. 읽어 주시면 기쁩니다.
트위터도 하고 있습니다. 일상적인 짹짹과 매우 드물게 정보를 보내기 때문에 팔로우 해 주시면 기뻐합니다 ☺️ → @사케치_탓

좋은 웹페이지 즐겨찾기