Gem - Devise
'Gem' 이란?
Home파일 작성
$ rails g controller home index
Gemfile의 작성
Gemfile
을 열어 아래와 같이 추가한 후,번들 인스톨합니다.
$ bundle install
위의 명령어를 입력시 아래와 같은 화면이 나오면 성공!
이렇게 되면 Devise 잼을 사용할 준비가 완료가 되었습니다. (잼설치 완료)
Devise 설정
콘솔(console)창에 다음과 같이 입력해 줍니다.
$ rails generate devise:install
입력이 끝나면 콘솔창에 다음과 같은 문구가 나타납니다.
필요한 내용만 골라 콘솔이 시키는대로 설정해 주면 되는데,
일반적으로 2번과 4번만 설정을 해줍니다.
우선 2, 4번 설정은 조금 뒤에 하기로 하고,
회원가입을 했을 때 회원정보가 들어갈 모델을 먼저 만들어 보겠습니다.
모델 이름을 user로 해서 아래와 같이 입력해 보겠습니다.
$ rails g devise user
그럼 아래처럼 models 폴더에 user.rb가 생긴걸 볼 수 있습니다.
모델은 만들었고, 이제 DB에 올려봅시다.
콘솔창에 아래와 같이 입력해 줍니다.
$ rake db:migrate
이렇게 모델과 DB를 구축했으니
이제 남은건 deivse를 사용하기 위해
route.rb파일에서 경로설정과,
view파일들을 생성하는일만 남았습니다.
이제 아까 설정하기로 했던 2번과 4번 설정을 끝맺어 줍니다.
[ 2번 설정 ]
config 폴더안에 routes 파일 안에 들어가서 경로를 다음과 같이 설정해 줍니다.
다음문구 추가 | root 'home#index' |
(이때 home 부분은 페이지가 자동으로 반환할 내용을 담은 장소이기 때문에
맨 처음에 home 컨트롤러를 만들때 home이 아니라 다른이름으로 설정하였으면,
그 이름으로 설정해 주면 됩니다.)
그 다음에 gem에서 지원해주는 로그인 페이지(view)단을 생성합니다.
[ 4번 설정 ]
콘솔창에 다음과 같이 입력해 줍니다.
$ rails g devise:views //devise 이름으로 폴더생성
$ rails g devise:views users //users 이름으로 폴더생성
입력시 다음과 같이 view 폴더에 devise 폴더가 생성됩니다.
이 과정을 잘 진행해 주면 gem이 알아서 view 공간에 login(로그인), join(회원가입), edit(정보수정) 파일을 만들어 줍니다.
*login(로그인)
*join(회원가입)
*edit(정보수정)
그럼 이제 devise를 이용해 방금만든 로그인 페이지를 사용하기 위해
다시 view폴더에 home 폴더로 돌아가 index파일을 조금 수정해 봅시다.
위에 사진에서 강조된 부분처럼
로그인 페이지 주소를 어떻게 찾았는지 궁금하다면
콘솔창에 rake routes라고 아래와 같이 입력해주면 찾을 수 있습니다.
$ rake routes
설정 후 결과물을 확인해 보면
이렇게 잘 작동하는 모습을 볼 수 있습니다.
Devise로 생성한 Users의 뷰를 수정하고 싶을 때
config -> initializers ->devise.rb 파일에 들어가서
`#config.scoped_views = false`를 찾아서 다음과 같이
`config.scoped_views = true`로 수정해 주면
view파일 수정이 가능해 집니다.
'Back_end > Ruby' 카테고리의 다른 글
[ Gem ] simple_calendar (0) | 2018.07.27 |
---|---|
[ Gem ] Bootstrap (0) | 2018.07.24 |