[rails] 스캐폴딩 기능 개발 기초 : 개요

2016. 7. 6. 00:37프로그래밍/Ruby on Rails

728x90
728x90
개요

Rails는 추가적으로 쉽게 CRUD(create, read, update, delete)

기능을 가진 애플리케이션을 만들 수 있는 기능을 제공한다.

이러한 기능을 스캐폴딩이라고 부른다.


스캐폴딩이란 '기반'이란 의미로 골격을 어느정도 만들어 준다.


- 일단 동작하는 애플리케이션을 만들고 싶을 때

- 데이터 유지 관리 등의 레이아웃을 열심히 만들 필요가 없는 페이지를 대량으로 만들어야 할 때

- Rails의 기본적인 CRUD 구현을 이해하고 싶을 때


개발 순서

books 테이블과 관련 기능 한번에 생성

1
rails generate scaffold name field:type [...] [option]
cs


마이그레이션 실행

1
rake db:migrate
cs




라우트 확인


config/routes.rb 파일을 확인해보면

resources :books 한 줄이 추가 되어 있다.

resources는 굉장히 많은 기능을 제공한다.


rake routes 명령으로 routes.rb를 분석하여 사용되고 있는 라우트 목록을 확인할 수 있다.


1
2
3
4
5
6
7
8
9
10
11
12
[elkiss@elkiss-centos config]$ rake routes
(in /home/elkiss/work/rails/scaffold)
   Prefix Verb   URI Pattern               Controller#Action
    books GET    /books(.:format)          books#index
          POST   /books(.:format)          books#create
 new_book GET    /books/new(.:format)      books#new
edit_book GET    /books/:id/edit(.:format) books#edit
     book GET    /books/:id(.:format)      books#show
          PATCH  /books/:id(.:format)      books#update
          PUT    /books/:id(.:format)      books#update
          DELETE /books/:id(.:format)      books#destroy
[elkiss@elkiss-centos config]$ 
cs



resources :books로 정의된 메서드

절 

URL 

액션 

HTTP 메서드 

역할 

 2

/books(.:format) 

index 

GET 

목록 화면 표시 

 3

/books(.:format) 

show 

GET 

개별 상세 화면 표시 

 4

/books/new(.:format)

/books(.:format)

new

create 

GET

POST 

새로운 데이터 등록 화면 표시

새로운 데이터 등록 화면의 입력을 받아 데이터 등록 처리 

 5

/books/:id/edit(.:format)

/books/:id(.:format) 

edit

update 

GET

PATCH/PUT 

수정 화면 표시

수정 화면의 입력을 받아 수정 처리 

 6

/books/:id(.:format) 

destroy 

DELETE 

목록 화면에서 지정된 데이터 제거 처리 


728x90
반응형