Devise에 대한 단계 설정(Rails)

7509 단어 DeviceRails

개시하다


앱을 만들 때 디비스가 설치되어 있기 때문에 그 절차를 기록합니다.

이른바 Devise


인증 기능을 간단하게 실현할 수 있는gem.
레일스 튜토리얼이 처음부터 제작된 점을 고려하면 Devise는 수작업과 안전성 측면에서 사용하기 편리하다.
그러나 공식 문서에 기재된 바와 같이 Devise를 이해하기 위해서는 rails 튜토리얼 등을 활용해 간단한 인증 기능의 구조를 이해해야 한다.

릴리즈

ruby   : 2.5.1
rails  : 5.2.2
device : 4.6.1

절차.


rails new는 완성된 곳부터 시작합니다.

설치gem


Gemfile
gem 'devise'
Gemfile에 bundle install가 추가된 경우

초기 설정


다음에 다음 명령을 실행하면 다음과 같은 정보를 보내기 때문에 일일이 대응할 것이다.
$ rails generate devise:install
      create  config/initializers/devise.rb
      create  config/locales/devise.en.yml
===============================================================================

Some setup you must do manually if you haven't yet:

  1. Ensure you have defined default url options in your environments files. Here
     is an example of default_url_options appropriate for a development environment
     in config/environments/development.rb:

       config.action_mailer.default_url_options = { host: 'localhost', port: 3000 }

     In production, :host should be set to the actual host of your application.


  2. Ensure you have defined root_url to *something* in your config/routes.rb.
     For example:

       root to: "home#index"

  3. Ensure you have flash messages in app/views/layouts/application.html.erb.
     For example:

       <p class="notice"><%= notice %></p>
       <p class="alert"><%= alert %></p>

  4. You can copy Devise views (for customization) to your app by running:

       rails g devise:views

===============================================================================
1. 기본 URL 설정
Ensure you have defined default url options in your environments files.
지시에 따라 config/environments/development.rb에 다음과 같은 내용을 추가합니다.
config/environments/development.rb
Rails.application.configure do
  # 省略
  config.action_mailer.default_url_options = { host: 'localhost', port: 3000 }
end
2. 루트 URL 설정
Ensure you have defined root_url to something in your config/routes.rb.
적절한 컨트롤러를 만든 다음 루트 URL을 설정합니다.
$ rails g controller home index show
routes.rb
Rails.application.routes.draw do
  root to: 'home#index'
  get 'home/show'
end
3. 플래시 메시지 설정
Ensure you have flash messages in app/views/layouts/application.html.erb.
우리도 지시에 따라 아래와 같다.
app/views/layouts/application.html.erb
# 省略
  <body>
    <p class="notice"><%= notice %></p>
    <p class="alert"><%= alert %></p>
    <%= yield %>
  </body>
# 省略
4. Device용 View 파일 생성
You can copy Devise views (for customization) to your app by running
인증 주위의 기본view는gem내에 있기 때문에 아래 명령을 사용하여 집합을 생성합니다.
$ rails g devise:views

User 모형 제작


모델을 생성하면 마이그레이션 파일이 생성됩니다.
$ rails g devise User
$ rails db:migrate

rails를 통해 확인

http://localhost:3000/users/sign_up에서 브라우저가 열리면 첫 번째 설정이 끝납니다.

사이트 축소판 그림


[Rails]devise 사용법(rails5 버전)

좋은 웹페이지 즐겨찾기