본문 바로가기
Program/ROR

루비 c9에서 model 생성

by Woodland 2016. 4. 18.

0. redirect_to "/페이지명"

컨트롤러에 직접적으로 연결시켜줌. 

변수나 params값 또한 그대로 이동 가능함.



1. 배쉬 부분에 모델을 생성.

$ rails g model "모델이름"

커멘드 입력하면 파일이 2개가 생기는데, db폴더에 migrate폴더 안에 숫자 많이 들어간 파일이 생기고,

app폴더에 model에 "모델이름"파일이 생김.


 2. migrate 생성


def change 안에 내용을 쓴다.

시작은 무조건 t.


ex)   t.저장할_내용의_자료형   "저장할_내용의_이름"

 t.string "title"

 t.integer "number"

= sting 타입의 타이틀과 integer 타입의 숫자를 쓴다.



이제 다시 베쉬에 

$ rake db:migrate

입력해준다.


이러면 db가 생성된다.


3. db 인스턴스

만약 내가 만든 모델의 이름이 post라고 한다면, 컨트롤러에 써야 할 인스턴스 문은 이렇다.

new_post = Post.new

여기서 중요한 것은 뒤에 있는 post는 항상 첫글자가 대문자여야 한다는 것이다.


4. 인스턴스 한 모델의 각 항목에 값 집어넣기

new_post.title = params[:name]

new_post.title = @goguma


이렇게 연결 해 준 다음 꼭 세이브를 해줘야 한다.

new_post.save



5. 모델 출력하기

우선 모든 게시물들을 출력하려면, 

출력하고자 하는 페이지의 컨트롤러에

@변수명 = Post.all

여기서도 모델명은 첫글자를 대문자로 해준다.


그런 뒤 그 페이지의 뷰에 

<%= @변수명.each do |p| %>  #변수명에 있는 모든 자료들을 하나씩 돌아가면서 찍어내겠다 라는 의미. 두 안에있는 p는 사실 다른 명이어도 상관없음

<%= p.title %> # 테이블 p에서 타이틀을 출력

<%= p.contents %> #테이블 p에서 컨텐츠를 출력

<%= p.created_at %> #작성된 시간 나타냄 --심층요망


<% end %>



한국시간 나타내기

<%= p.created_at.in_time_zone("Asia/Seoul").strftime("%Y년%m월%d일 %H시%M분%S초") %>


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

루비 메일건 쓰기 -- 심층탐구 요망  (0) 2016.04.18
루비 이미지 태그  (0) 2016.04.03
배열에 있는 요소 랜덤으로 골라주기  (0) 2016.04.03