초학자 프로그래밍 Devise 도입
gem 설치
gem 'devise' #<= cではなくsなのに注意
$ bundle install
$ rails g devise:install
철자 오류로 인해 오류가 발생했으므로 조심하십시오.
모델 만들기
$ rails g devise Model
$ rails db:migrate
이번 마이그레이트 커맨드 실행 시에 에러가 나왔다.
Mysql2::Error: Specified key was too long; max key length is 767 bytes
디폴트로 설정되어 있다 encoding :utf8mb4
(은)는 1 문자당 4배까지 저장할 수 있기 (위해)때문에 일어난 에러. 그래서 utf8
로 변경했다.config/database.yml
default: &default
adapter: mysql2
encoding: utf8 #<= utf8mb4より変更
pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>
username: root
password:
socket: /tmp/mysql.sock
라우팅 설정
config/routes.rb
Rails.application.routes.draw do
devise_for :users
end
터미널에서 라우팅 확인
Prefix Verb URI Pattern Controller#Action
new_user_session GET /users/sign_in(.:format) devise/sessions#new
user_session POST /users/sign_in(.:format) devise/sessions#create
destroy_user_session DELETE /users/sign_out(.:format) devise/sessions#destroy
new_user_password GET /users/password/new(.:format) devise/passwords#new
edit_user_password GET /users/password/edit(.:format) devise/passwords#edit
user_password PATCH /users/password(.:format) devise/passwords#update
PUT /users/password(.:format) devise/passwords#update
POST /users/password(.:format) devise/passwords#create
cancel_user_registration GET /users/cancel(.:format) devise/registrations#cancel
new_user_registration GET /users/sign_up(.:format) devise/registrations#new
edit_user_registration GET /users/edit(.:format) devise/registrations#edit
user_registration PATCH /users(.:format) devise/registrations#update
PUT /users(.:format) devise/registrations#update
DELETE /users(.:format) devise/registrations#destroy
POST /users(.:format) devise/registrations#create
사용자의 URI를 확인하십시오. 모델을 만들고 마이그레이션하지 않으면 라우팅 오류가 발생했습니다.
methods.rb:282:in
const_get': uninitialized constant User (NameError)`뷰 만들기
$ rails generate devise:views
보기 확인
localhost:3000/users/sign_in에서 뷰 확인.
요약
우선 공식 문서에서 대략적인 순서를 파악. 그 후, 각 단계에서 대략 에러가 발생하기 때문에, 매번 검색하여 에러 내용을 임시 검증한다.
사이고에게
프로그래밍의 초학자입니다. 그날 배운 것을 학습의 일환으로 출력하고 있습니다. 보다 깊게 학습해 가고 싶다고 생각하고 있으므로, 내용에 잘못이 있으면 지적등 받을 수 있으면 다행입니다.
참고 도서:퍼펙트 Ruby on Rails【증보 개정판】스가와라 마사노리/마에지마 마이치/하시다치 토모히로/고토 유이치/이가라시 쿠니아키
참고
Reference
이 문제에 관하여(초학자 프로그래밍 Devise 도입), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/sumitaryosuke/items/95ca6573bb8f3155f041텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)