Rails devise 준비

4612 단어 RubyRails

개시하다


Rails의 devise 사용 방법을 몇 차례로 나누어 정리합니다.
이번에는 devise에 대한 준비입니다.
최종적으로 기본 서명 화면과 로그인 화면에 접근할 수 있습니다.

devise의 준비


설치gem


나는 사전에 버블러를 설치했다.
GemFile에 다음 설명을 추가합니다.
GemFile
gem 'devise'
터미널에서 다음 명령을 실행하여gem를 설치합니다.
bundle install

devise 프로필


devise 프로필 생성


터미널에서 다음 명령을 실행하여 devise 프로필을 생성합니다.
rails g devise:install

devise 프로필 편집


프로필을 설치하면 터미널에 다음 글이 표시됩니다.
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~4을 설정합니다.

1. 기본 URL 설정


환경 파일에 기본 URL을 설정합니다.
config/environments/development.rb
config.action_mailer.default_url_options = { host: 'localhost', port: 3000 }

2. 기본 URL의 루트 정의


1에 설정된 기본 URL에 대한 작업을 정의합니다.
컨트롤러와 보기를 먼저 만듭니다.
터미널에서 다음 명령을 실행합니다.
rails g controller Products index
기본 URL의 경로를 정의합니다.
config/routes.rb
root 'products#index'
get 'products/index'

3. 플래시 메시지 설정


플래시 메시지는 로그인에 성공했을 때 표시되는 정보입니다.
"app/views/layouts/응용 프로그램.erb"에 플래시 정보를 설정합니다.
바디 탭에 지정한 p 탭 두 개를 설명합니다.
app/views/layouts/application.html.erb
<body>
  <p class="notice"><%= notice %></p>
  <p class="alert"><%= alert %></p>

  <%= yield %>
</body>

4. 사용자 정의 devise를 위한 보기 생성


사용자 정의 뷰를 생성합니다.
기본 보기를 사용할 때 이 동작을 필요로 하지 않습니다.
터미널에서 다음 명령을 실행합니다.
rails g devise:views

모델의 생성


로그인할 때 사용할 모델을 생성합니다.
이번에는 User라는 모델 이름으로 만들어졌습니다.
터미널에서 다음 명령을 실행합니다.
rails g devise User
rake db:migrate
실행하면,routes.rb에'devise for:users'가 추가되었습니다.
config/routes.rb
devise_for :users
root 'products#index'
get 'products/index'

로그인 서명 화면


devise의 준비가 정확한지 확인하십시오.

서명 화면



로그인 화면



서명 화면과 로그인 화면을 표시하면 devise의 준비가 끝납니다.

끝말


"rails g devise 모델 이름"을 실행한 후,routes.rb에 "devise for: 모델 이름"이 추가되지 않았습니다.
"rails g devise: install"터미널이 실행되면 여러 가지 상황이 고정됩니다.
다음은 devise의 맞춤형 제작을 하고 싶습니다.

좋은 웹페이지 즐겨찾기