Ruby on Rails
-
[Acitve Admin] 어드민 페이지 한글화 작업Ruby on Rails 2021. 6. 3. 12:36
지난 포스팅에서 액티브 어드민을 설치하고 모델과 연결해 테이블을 확인하는 방법을 알아봤는데요, 모두 영어로 표시되어 있어 사용에 불편함이 보이네요. 이번에는 액티브 어드민을 한글화하여 보기 편하게 만들어보겠습니다. (coats 데이터들은 제가 테스트를 위해 seed.rb 로 만들어두었습니다.) 1. application.rb 수정하기 우선, config/application.rb 에 가서 아래 코드를 추가해줍니다. ... module ShopApp class Application < Rails::Application # Initialize configuration defaults for originally generated Rails version. config.load_defaults 6.0 # 아래 ..
-
[Active_Admin] 액티브 어드민으로 관리자 페이지 만들기Ruby on Rails 2021. 6. 3. 11:16
이번 포스팅에서는 액티브 어드민(active_admin) 을 통해 관리자 페이지를 만들어 보겠습니다. 액티브 어드민을 사용하면 DB의 데이터를 한눈에 볼 수 있고, 관리하기도 편합니다. 그래서 프로젝트를 시작할 때 액티브 어드민을 만들어두고 초기 설정을 세팅해두는 것이 좋다고 생각합니다. 아래 공식 문서를 참고하시기 바랍니다. https://activeadmin.info/index.html 1. 액티브 어드민 설치 우선, 액티브 어드민 공식 문서에 들어가서 Documentation 에 들어가면, 설치 방법이 나옵니다. # Gemfile gem 'activeadmin' $ bundle install $ rails g activeadmin:install 위 순서대로 gem 파일을 설치해줍니다. 그리고 rak..
-
[루비 온 레일즈] seeds.rbRuby on Rails 2021. 5. 6. 18:04
오늘은 seeds.rb 사용방법에 대해 알아보겠습니다. 1. seeds.rb 파일이란? seeds.rb 는 주로 데이터베이스에 데이터들을 넣어줄 때 사용합니다. seeds.rb 의 위치는 db/migrate/seeds.rb 이며, 파일 안에 코드를 작성한 후 터미널에 rake db:seed 라고 입력하면 데이터를 집어넣을 수 있습니다. 2. seeds.rb 사용하기 우선 seeds.rb 파일을 열어 안에 필요한 데이터를 생성하기 위한 코드를 작성합니다. 저는 아래 코드를 입력해서 100개의 board를 생성했습니다. (1..100).each do |t| Board.create(title: "title#{t}", content: "content#{t}", user_id: 1) end 그리고 rake db:..
-
[레일즈] 액티브레코드 쿼리 인터페이스 관련 질문답변Ruby on Rails 2021. 5. 6. 17:02
이전까지 혼자서 레일즈 가이드를 참고해 Active Record Query Interface 를 살펴봤습니다. 그 과정에서 여러 질문거리들이 생겨 문개키 수업을 진행하면서 삼촌께 여쭤본 내용을 정리해보겠습니다. 1. find_each 에서 batch란 무엇인가 batch 처리 일반적으로 'batch 처리' 는 특정 객체들을 모아서 불러내어 처리하는 것을 말합니다. 예를 들어, 결제 기간이 일주일 남은 회원들만 골라 이들에게 안내 메일을 보내야 할 때, batch 처리를 합니다. 즉, 특정 시점에 특정 작업을 수행하는 것을 batch 처리라고 할 수 있습니다. find_each 파트를 보면 batch 개념이 나옵니다. 레일즈 가이드에서는 여러 사용자들에게 뉴스레터를 전송하거나 데이터를 내보낼 때처럼 여러 ..
-
[루비 온 레일즈] kaminari gem 으로 페이지네이션 구현하기Ruby on Rails 2021. 5. 3. 18:06
이번에는 kaminari gem 을 사용해 페이지네이션을 구현해보겠습니다. 예시는 제가 만들고 있는 웹사이트를 활용할 것이고, 단일 모델과 네스티드 모델 모두에서 페이지네이션 구현방법을 확인해보겠습니다. 1. 페이지네이션이란 페이지네이션은 데이터가 너무 많아서 한번에 보여줄 수 없을 경우, 데이터를 일정 길이로 끊어서 전달하는 기능입니다. 관련 자세한 설명은 아래 링크를 참조하시기 바랍니다. velog.io/@yjkeem0918/Pagination-%ED%8E%98%EC%9D%B4%EC%A7%80%EB%84%A4%EC%9D%B4%EC%85%98 아래 이미지는 제 티스토리 블로그 글 목록인데 하단에 보면 빨간 박스 안에 페이지를 구분하는 인터페이스가 있습니다. 웹페이지에 이렇게 페이지를 구분해주는 기능이 ..
-
[레일즈] Active Record Query Interface 4Ruby on Rails 2021. 4. 29. 14:55
오늘은 레일즈 가이드 Active Record Query Interface 14 Scope 부터 살펴보겠습니다! Scope scope 를 사용하면 일반적으로 사용되는 쿼리들을 지정할 수 있으며, 이 쿼리를 association 객체 또는 모델을 호출하는 메소드로 참조할 수 있습니다. scope 를 통해 where, joins, includes 와 같은 이전에 설명한 메소드들을 모두 사용할 수 있습니다. 모든 scope bodies 는 ActiveRecord::Relation 이나 nil 을 반환하여 추가 메소드(예: 또다른 scope)를 호출할 수 있도록 허용할 수 있습니다. 결국, Scope 는 자주 사용하는 쿼리를 따로 특정 단어로 지정해 이 단어를 호출해서 사용하는 방법입니다. scope 를 적용한..
-
[레일즈] Active Record Query Interface 3Ruby on Rails 2021. 4. 27. 17:29
액티브레코드 쿼리 인터페이스에서 계속해서 12 Joining Table 부터 알아보겠습니다. Joining Tables 액티브 레코드는 결과 SQL 에서 JOIN 절을 지정하는 두 가지 Finder 메소드인 join 과 left_outer_joins 를 제공합니다. 여기서 join 은 INER JOIN 또는 사용자 지정 쿼리에 사용되어야 하지만, left_outer_join 은 LEFT OUTER JOIN 을 사용하는 쿼리에 사용됩니다. 들어가기 전에, SQL의 join 개념에 대해 살펴보겠습니다. join 이란, 둘 이상의 테이블을 연결해서 데이터를 검색하는 방법으로, 테이블을 연결하려면 테이블들이 적어도 하나의 컬럼을 공유하고 있어야 합니다. 이때, 이 공유하고 있는 칼럼을 PK 또는 FK 값으로 사..
-
[레일즈] Active Record Query Interface 2Ruby on Rails 2021. 4. 26. 20:31
이전 포스팅에서 계속해서 액티브 레코드 쿼리 인터페이스를 알아보겠습니다!! Ordering order 메소드를 사용하면 DB에서 특정 순서로 레코드를 반환할 수 있습니다. 예를 들어, 우리가 테이블의 created_at 필드(칼럼)를 기준으로 레코드 집합을 오름차순으로 정렬하려면 아래와 같이 작성하면 됩니다. Client.order(:created_at) # OR Client.order("created_at") 또한, 다음과 같이 작성해 ASC 또는 DESC 를 사용해 오름차순, 내림차순으로 데이터를 불러올 수 있습니다. Client.order(created_at: :desc) # OR Client.order(created_at: :asc) # OR Client.order("created_at DESC"..