Romantic Developer : )

(Ruby on Rails) CRUD 개념으로 게시판 실습해보기 (1.Model 생성) 본문

Romantic Developer/Ruby on Rails

(Ruby on Rails) CRUD 개념으로 게시판 실습해보기 (1.Model 생성)

Romantic_Developer 2018. 5. 19. 00:00


안녕하세요 영감을 주는 개발자 '방민방민'입니다. 


오늘은 CRUD 개념에 대해 코드와 함께 생각해 보는 시간을 가지고자 합니다.


위 내용은 앞서 Modeling과 관련된 내용이 생략되어 있을 수 있습니다. 

Modeling 과 관련된 내용은 따로 포스팅을 하도록 하겠습니다.



1. CRUD 개념


웹 페이지 구현에 있어서 CRUD 는 아주 중요한 개념이며 아래의 4가지로 구성됩니다.


- Create

- Read

- Update

- Delete


뒤에 나올 게시판의 예를 들면 새로운 게시글을 Create(작성) 하고 , 작성된 게시글을 Read(읽음) 하고,

Update(갱신) 하고 Delete(삭제)할 수 있다는 것입니다.  실습을 통해 알아보도록 하겠습니다.



2. 실습


먼저 아래 명령어 (버전은 생략 가능) 를 통해 practice1 이라는 프로젝트를 생성하겠습니다.



그리고 note 를 조작할 controller 를 생성해줍니다. 이때, 노트를 조작할 콘트롤러의 이름은 notes 로 복수형으로

해주는것이 좋습니다. 필수는 아니나 이후에 조작에 있어 웹이 이상동을 하는 것을 최소화 할 수 있습니다.


생성된 rails controller 에는 아래 보이는 것과 같이 C R U D 4가지의 페이지 기능이 구현 될 것입니다.

class NotesController < ApplicationController
    
    #Create
    
    #Read
    
    #Update
    
    #Delete
    
end


이제 아래의 명령어를 입력하여 간단하게 note model(database 개념은 이후에 포스팅하도록 하겠습니다.)를 생성해 줍니다. 

정상적으로 명령어를 입력 했다면 app/db/migrate 폴더에 아래의 코드를 갖는 notes model이 생성됩니다.


class NotesController < ApplicationController
  class CreateNotes < ActiveRecord::Migration[5.0]
  def change
    create_table :notes do |t|
      t.string :title
      t.text :content

      t.timestamps
    end
  end
end
    
end


이제 아래 명령어를 입력하여 db를 적용시켜주면 실제 테이블이 생성됩니다.


그러나 홈페이지를 통해 rails/db 으로 접속하면 아래와 같이 접속이 불가능한 것을 확인할 수 있습니다.

문제는 바로 gemfile 에 rails_db 를 포함시켜서 설치해주지 않았기 때문입니다.




따라서 Gemfile 에 gem 'rails_db' 를 포함시켜준 뒤 bundle install 명령어를 통해 db 를 관리하는 gem 파일을 설치해 주어야만

migrate 한 model 에 대한 확인이 가능합니다.



자 ! 이제 정말로 생성된 테이블을 확인할 수 있습니다. 

홈페이지 접속 주소 맨 뒤에 rails/db 를 입력하면 아래와 같이 생성된 테이블을 확인할 수 있습니다.



본격적으로 CRUD 를 확용하기 위한 데이터 테이블 구성이 완료되었습니다.


포스팅이 너무 길어지지 않도록 다음 포스팅을 통하여 Create부터 차근차근 게시판을 만들어가 보도록 하겠습니다.


지금까지 영감을 주는 개발자 '방민방민' 이었습니다 :)



감사합니다.