Model

모델 클래스 생성

rails generate model name field:type

| 종류 | 설명 | 예 | |--------|--------| | 모델 클래스|첫 글자 대문자,단수형|Book| |모델 클래스 파일 이름| 첫글자 소문자, 단수형 | book.rb| |테이블|첫글자 소문자, 복수형| books| |테스트 스크립트|xxxx_test.rb(첫글자 소문자,단수형)|book_test.rb|

마이그레이션 파일로 테이블 생성

마이그레이션 : 테이블 레이아웃을 생성 또는 변경하기 위한 구조.

rails dbconsoleor rails db을 사용하면 config/database.yml에 정의된 정보를 기반으로 데이터베이스 클라이언트를 실행할 수 있다.

.tables : 테이블 목록표시 .schema books : books테이블의 구조확인 select*from books; : books테이블내용확인

이때 이쁘게 보고싶다면 .headers on .mode columns를 해주면 된다.

.exit or .quit : 데이터베이스 클라이언트 종료

데이터 추출

1. Primary Key로 검색을 한다. (find)

find(keys) keys:주 키(배열로 지정할 수도 있다.)

2. 임의의 필드로 검색(find_by)

:검색 조건으로 가장 처음 검색되는 레코드를 추출한다. find_by key: value [, ... ]

find_by가 리턴하는 데이터는 항상 하나이다. 그러므로 테이블 조건에 맞는 레코드가 하나만 있을때만 사용한다.

3. 지정한 필드 데이터를 배열 추출(pluck(column, ... ))

: 여러개의 필드를 지정해서 추출하는 것이 가능해졌다.

ex) Book.where(publish: '제이펍').pluck(:title, :price)

4. 데이터 존재확인(exists?)

: 데이터를 추출하지 않고 지정된 데이터가 있는지 없는지 정도만 확인하고 싶을때.

5. Named Scope(이름있는 스코프)

scope name , -> {exp} : 특정한 조건식 또는 정렬식을 미리 모델쪽에 이름을 붙여 저장해두고, 후에 이용하고 싶을때 이름을 호출해서 사용한다.

ex)

scope :top10, -> {newer.limit(10)}

Last updated

Was this helpful?