본문으로 바로가기

[Rails] CRUD

category WEB/ROR 2018. 5. 24. 15:12

지금부터 다뤄볼 Ruby On Rails의 CRUD는 Rails Helper의 도움을 받지 않은 순수 HTML Form Tag만을 이용한 CRUD이며, REST API의 규칙을 따른다. Helper를 이용한 Rails스러운 CRUD는 추후에 다뤄볼 예정이다.


우선 우리가 다뤄볼 CRUD에 필요한 액션은 총 7가지가 있다. CRUD로 총 네가지가 아니냐고 할 수 있겠지만 뷰페이지와 그에 상응하는 액션을 따져보면 총 7가지가 맞다.


index (글의 목록을 보여주는 뷰페이지)

read (글 내용을 보여주는 뷰페이지)

new (글 작성 뷰페이지)

create (글 작성 액션)

edit (글 수정 뷰페이지)

update (글 수정 액션)

destroy (글 삭제 액션)


구성은 다음과 같다.

1. index 페이지에는 글 목록이 있고, 글 작성 버튼이 있다.

2. 글 목록 중 하나를 누르면 read 페이지에서 해당 글의 내용을 보여주며, read 페이지에는 글 수정, 삭제 버튼이 있다.

3. 글 작성 버튼을 누르면 글 작성 폼이 있는 new 페이지로 이동한다.

4. new 페이지에서 폼을 작성하고 제출하면 create 액션으로 가며, create 액션은 폼의 내용을 DB에 저장한다.

5. 글 수정 버튼을 누르면 글 수정 폼이 있는 edit 페이지로 이동한다.

6. edit 페이지에서 폼을 작성하고 제출하면 update 액션으로 가며, update 액션은 폼의 내용을 DB에 덮어쓴다.

7. 글 삭제 버튼을 누르면 destroy 액션으로 가며, destroy 액션은 해당 글을 DB에서 삭제한다.


이렇게 총 일곱가지 액션을 만들 것이며 임의로 컨트롤러의 이름은 posts로 이름짓도록 하겠다. (일반적으로 모델명은 단수, 그에 상응하는 컨트롤러명은 복수로 명명한다.)



이렇게 명령어를 작성하면 posts라는 컨트롤러 안에 액션 7개가 생김과 동시에 뷰페이지도 7개가 생긴다. 하지만 우리가 필요한 뷰페이지는 index, read, new, edit 뿐이고 나머지 액션은 뷰페이지 없이 액션만 사용할 것이므로, 이 네개만 남겨두고 나머지 뷰페이지는 삭제해도 무방하다.


'WEB > ROR' 카테고리의 다른 글

[Rails] MODEL  (0) 2018.05.24
[Rails] REST API  (0) 2018.05.24
[Ruby] attr_accessor  (0) 2018.02.22
[Ruby] public, private method  (0) 2018.02.22
[Ruby] 상속  (0) 2018.02.22