프로그래밍/Ruby on Rails(15)
-
[rails] 모델 기본
O/R 맵퍼관계형 데이터베이스와 객체 지향 언어의 객체 사이의 징검다리를 놓아주는 라이브러리 관계 불일치(impedance mismatch)애플리케이션 객체 모델과 데이터베이트 관계형 모델의 구조가 차이나는 것을 의미 O/R 맵퍼는 이러한 잘못된 매칭을 제거하기 위한 툴.모델 클래스의 인스턴스는 레코드 한 개를 나타내는 객체로객체의 속성은 테이블의 필드로 그대로 갖게 된다. ex) books 테이블 > 대응하는 모델 Book 클래스books 테이블 내부의 필드 > Book 클래스도 isbn, title 등의 속성을 가짐 데이터베이스 연결 설정database.yml의 YAML 형식으로 작성한다.YAML은 Ain't Markup Language로HTML 이나 XML과 같은 마크업 랭기쥐가 아니라 들여쓰기로 ..
2016.06.27 -
[rails] 뷰 기본
최종적인 출력 ERB(Embedded Ruby)를 사용하는 것이 기본.ERB 템플릿은 HTML에 루비 스크립트를 삽입한 구조. ERB 템플릿의 장점- 임의의 루비 스크립트를 넣어 조건 분기 및 반복 등의 처리를 자유롭게 적용한다.- 뷰 헬퍼를 사용해 데이터베이스에서 추출한 데이터를 기반으로 링크 또는 입력 양식 요소 등을 간단하게 생성한다. 변수 생성controller에서 render로 출력하는 것 콘트롤러에서 직접 출력하는 것.템플릿을 이용하려면 일단 요청 처리를 하는 컨트롤러 클래스(액션 메서드)를 만들어야 한다. hello_controller.rb123def view @msg = 'hello'endcs이딴 식으로! @msg 인스턴스 변후를 생성한 것. 이는 템플릿에서 참조할 수 있다.이제 이것을 ...
2016.06.11 -
[rails] 컨트롤러 기초, 라우팅
컨트롤러 기초 123456#coding: utf-8class HelloController
2016.05.17 -
[rails] rails 애플리케이션 폴더 구조
/myapp/app : 애클리케이션의 메인 폴더./assets : 어셋(자바스크립트, 스타일시트, 그림 등의 리소스)/images/javascripts/stylesheets/controllers : 컨트롤 클래스/concerns : 컨트롤 공통 모듈application_controller.rb : 애플리케이션 공통 컨트롤러/helpers : 뷰 헬퍼application_helper.rb : 애플리케이션 공통 뷰 헬퍼/mailers : 액션 메일러 구현 클래스/models : 모델 클래스/concerns/views : 뷰 스크립트/layouts : 레이아웃application.html.erb : 애플리케이션 공통 레이아웃/bin : 코드 생성 또는 개발 서버 실행에 사용되는 헬퍼 스크립트/config : ..
2016.03.20 -
[Rails] Rails의 설계 철학. DRY and CoC.
DRY(Don't Repeat Yourself) : 같은 코드를 반복하지 말 것Coc(Convention over Configuration) : 설정보다 규약이 중요 Rails는 소스 코드 내부에서 같은 처리나 정의를 반복해서 사용하는 것을 극도로 지양한다.ex) DB 스키마 정의를 설정 파일로 별도 작성하지 않는다. DB 테이블을 만드는 것만으로도 Rails가 알아서 해준다. DRY 원칙을 지탱해주는 것은 CoC 원칙이다.ex) users 테이블을 읽어들이려면 User이라는 이름의 클래스를 이용해야 한다.서로 간의 규칙을 정의할 필요 없다. users(복수형)과 User(단수형)으로만 맞춰 작성하면 테이블과 클래스를 연결해준다.
2016.03.20 -
scaffold generator 사용해보기
Post 모델 생성1rails generate scaffold Post title content:textcs 해당 제너레이터로 모델을 만든다.title과 content 두 개의 속성으로 만들겠다는 의미다.여러 리소스 모듈이 생성되고 연관 템플릿이 형성된다. rake 명령으로 데이터베이스 테이블 생성1rake db:migratecs 생성 후 확인1rake db:migrate:statuscs db:rollback 명령 하면 마이그레이션을 취소할 수 있다. sqlite 들어가보기1bin dbcs 간단히 확인도 함 해보고.. 결과이렇게 간단히 포스트가 가능한 웹페이지가 만들어지다니...............................................
2015.09.13