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?