해당 글은 https://blog.naver.com/kbs4674/221187526054 로 부터 게시글이 이전되었습니다. 홈페이지를 원만하게 운영하기 위해서는 관리자 메뉴얼 창이 따로 또 필요하곤 합니다. 하지만 혼자 스스로 관리자 페이지를 만들기란 쉽지 않습니다. 데이터가 무수히 많을 때를 대비해 SQL 최적화 작업을 해야하고, 그 외 레일즈의 모든 이론이 관리자 페이지 기술에 담겨져야할 수도 있기 때문입니다. 해당 Gem이 정말 좋은게 자기가 알아서 모든 model을 탐색해 내고, 부트스트랩/그리드가 적용되어 있어서 UI도 전체적으로 괜찮습니다. 참고 Devise Gem이 사전에 설치되어 있어야 합니다. [Devise Gem 설치법 클릭] 어드민 관리자 페이지 : rails_admin 1. Gemf..
해당 글은 https://blog.naver.com/kbs4674/221069915874 로 부터 게시글이 이전되었습니다. 게시판이 운영되는 거의 모든 사이트는 최소 '관리자'와 '유저' 이 2가지로 계급이 나뉘어 있을겁니다. 유저는 글을 쓰거나, 자신의 글에 대해서만 수정/삭제가 가능한 반면, 관리자는 게시글을 누구의 글이든 삭제 혹은 수정을 할 수 있겠죠. 이렇게 홈페이지 운영에 있어서 효율적인 관리를 위해선 '권한'이라는 계급이 필요합니다. 이번 시간에는 Devise와 rolify, cancancan Gem을 이용해서 '권한설정' 에 대해 알아보겠습니다. 시작 전 유의사항 1. Gem : devise이 기본적으로 깔려있어야 합니다. 참고 devise Gem 설치법 [클릭] 2. 필자는 CRUD 사용..
해당 글은 https://blog.naver.com/kbs4674/221616865157 로 부터 게시글이 이전되었습니다. 만약에 게시판을 개발한다면? 사람들이 흔히 당연하다고 생각하고 쓰는것이 무엇이 있을까요? 게시글 작성 편집기, 게시글 검색, 게시판 페이지 목록... 이 외에도 다양할겁니다. 그 중, 저는 이번 시간에는 '게시판 페이지 목록'을 셋팅하는법에 대해 설명하겠습니다. 설명하기 전에 앞서서, 만약에 게시판에 페이지 목록이 없다면 어떻게 될까요? 글이 계속 세로로 쭈우우욱 무한히 써져나가고, 엄청난 스크롤 압박이 찾아오겠죠? (물론 일정 스크롤에 도착하면 새로 글이 로딩되는 무한스크롤 방법이 있긴 합니다.) 이를 방지하기 위해 탄생한 것이 '게시글 페이지 목록' 입니다. 사실 저는 Pagy ..
해당 글은 https://blog.naver.com/kbs4674/221067158208 로 부터 게시글이 이전되었습니다. 만약에 게시판을 개발한다면? 사람들이 흔히 당연하다고 생각하고 쓰는것이 무엇이 있을까요? 게시글 작성 편집기, 게시글 검색, 게시판 페이지 목록... 이 외에도 다양할겁니다. 그 중, 저는 이번 시간에는 '게시판 페이지 목록'을 셋팅하는법에 대해 설명하겠습니다. 설명하기 전에 앞서서, 만약에 게시판에 페이지 목록이 없다면 어떻게 될까요? 글이 계속 세로로 쭈우우욱 무한히 써져나가고, 엄청난 스크롤 압박이 찾아오겠죠? (물론 일정 스크롤에 도착하면 새로 글이 로딩되는 무한스크롤 방법이 있긴 합니다.) 이를 방지하기 위해 탄생한 것이 '게시글 페이지 목록' 입니다. 부록 Kaminari..
Devise 사용에 있어, email 입력보단 이메일 형식이 아닌 아이디 형식으로 입력을 원할 때가 있습니다. 이번 글에서는 해당 방법에 대해 알아보겠습니다. 이메일 대신 다른 Form 입력받기 참고 해당 설명은 Devise Gem이 깔려있어야 합니다. [클릭] 사용하시는 Devise 모델 이름이 User 라는 가정하에 설명을 작성해보겠습니다. 1. Devise User 테이블의 새로운 컬럼을 생성합니다. rails generate migration add_username_to_users username:string 컬럼 추가 후, schema 업데이트를 합니다. 2. app/controllers/application_controller.rb 파일을 열람 후, 다음 코드를 추가합니다. class Appl..
해당 글은 https://blog.naver.com/kbs4674/221052897085 로 부터 게시글이 이전되었습니다. 사이트 운영자는 자신의 홈페이지를 운영하면서 홈페이지 내 데이터가 삭제된다면, 그것이 그냥 삭제되도록 냅두는것이 아닌 삭제된 데이터에 대해 기록이 남겨져야 할 이유가 있습니다. 나중에 게시글 내 욕설로 인해 피해자가 가해자에게 고소를 하면, 게시글을 관리하는 사이트 운영자는 고소의 시발점이 되는 (삭제된) 자료를 경찰이 요구를 하면 해당 게시글의 (삭제된) 기록에 대해 보여줘야 할 의무가 있기 때문입니다. 그래서, 이번 시간에는 삭제된 데이터를 보관하는방법에 대해 알아보고자 합니다. 참고로 해당 Gem 기술에 있어서도 명칭이 존재합니다, 이러한 방식을 Soft Delete 라고 합니..
해당 글은 https://blog.naver.com/kbs4674/221042620689 로 부터 게시글이 이전되었습니다. 원래 처음에는 Gem의 힘을 빌리지 않고 조회수를 구현하려고 했는데 막 DB에 새로운 컬럼을 추가해서 순수적으로 해보려고 해보는데 잘 안되네요.. 거의 막판에 포기할 무렵...... 조회수 관련해서 전문적으로 기능을 담당하는 Gem 있다는걸 알게됩니다! 게다가 마침 IP대조까지 해서 조회수 증감 판단도 합니다! 이번엔 impressionist Gem에 대해서 소개하고자 합니다. 조회수 기능 (IP Check 포함) 1. 예제 실습을 위해 scaffold를 생성합니다. rails g scaffold post title content:text 2. Gemfile 에 다음 내용을 추가합니..
해당 글은 https://blog.naver.com/kbs4674/221052908122 로 부터 게시글이 이전되었습니다. DB가 구현되었을 때 해당 DB에 어떠한 테이블 컬럼이 있는지, DB에 내용이 잘 적용되었는지, ... 등등 DB가 돌아가는것의 모든 정보를 한눈에 볼 수 있는 유용한 Gem입니다. 또한 DB를 Expert, 데이터 추가/수정/삭제 또한 가능합니다. 이 기능을 설치하는 방법은 아주 간단합니다. Rails DB 설치 1. Gemfile 에서 내용을 입력하는데, group :development do 내에서 입력해 주세요. group :development do ... gem 'rails_db' end 참고 Development Environment 때에만 쓰이는 gem이라는 의미입니다..