Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- 꿀팁
- 레일즈
- 장고 공부하기
- 장고
- nodejs
- express-mysql-session
- rails
- django 공부하기
- node.js
- nodejs api
- 모듈화
- 데스크탑애플리케이션
- jquery
- 웹 프로그래밍 입문
- css3
- 예스인테리어
- 모닝버드
- 웹프로그래밍
- rails review
- Ruby On Rails
- 파이썬 웹 프레임워크
- 루비온레일즈
- 웹 프론트엔드
- 웹 프로그래밍
- 루비 온 레일즈
- 프론트엔드
- 루비
- 홈페이지 개발하기
- Python
- Django
Archives
- Today
- Total
노래하듯 이야기하고, 춤추듯 정복하라.
[Ruby & Rails] 관리자 권한 부여하기, 사용한 Gem: Cancancan + Rolify 본문
프로그래밍/Ruby & Rails
[Ruby & Rails] 관리자 권한 부여하기, 사용한 Gem: Cancancan + Rolify
hyeoke 2018. 8. 15. 19:56* 필자는 Devise gem이 설치되어 코딩이 완료된 상태를 가정함.
# gem 설치
:cancancan => 권한부여
:rolify => 역할, 등급 부여
# Gemfile
gem 'devise'
gem 'cancancan'
gem 'rolify'
-> $gem install bundler
-> $bundle install
# 터미널
-> $rails g cancan:ability
-> $rails g rolify Role User
=> model 폴더에 abilty.rb 파일이 생성됨
# 역할 부여하기 => user.rb
after_create :assign_default_role
def assign_default_role
emails = ['inamorfati@likelion.org', 'seokk1209@likelion.org', 'wjs7541@likelion.org']
if emails.include? self.email
self.add_role(:admin)
end
end
=> 유저가 Create 되기 전에 회원가입 폼에 입력된 email이 배열값에 include 되어 있다면, "admin"이란 역할을 부여하라!
# 능력 부여하기 => ability.rb
user ||= User.new # guest user (not logged in)
if user.nil?
can :read, :all
else
can [:read, :write] :all
end
# 컨트롤러 post_controller.rb
=> load_and_authorize_resource
'프로그래밍 > Ruby & Rails' 카테고리의 다른 글
[Ruby On Rails] Rails에 MySQL 연동하기 (0) | 2018.11.17 |
---|---|
[Ruby & Rails] Faker젬을 사용해 더미데이터 입력하기 (0) | 2018.08.17 |
[Ruby & Rails] Post모델에 별점(Review) 기능 추가하기2 (0) | 2018.08.10 |
[Ruby on Rails] Post모델에 별점(Review) 기능 추가하기 (0) | 2018.08.10 |
[Ruby on Rails] Post모델에 댓글(comments) 기능 추가하기 (0) | 2018.08.10 |
Comments