메뉴 바로가기 검색 및 카테고리 바로가기 본문 바로가기

한빛출판네트워크

한빛랩스 - 지식에 가능성을 머지하다 / 강의 콘텐츠 무료로 수강하시고 피드백을 남겨주세요. ▶︎

IT/모바일

루비 온 레일즈, 이클립스를 만나다(3)

한빛미디어

|

2007-05-22

|

by HANBIT

12,808

제공 : 한빛 네트워크
저자 : Deepak Vohra
역자 : 이대엽
원문 : Ruby on Rails Meets Eclipse

[이전 기사 보기]
루비 온 레일즈, 이클립스를 만나다(1)
루비 온 레일즈, 이클립스를 만나다(2)

RadRails 설치

RadRails 플러그인을 설치하기 위해서는 RDT 플러그인이 미리 설치되어 있을 필요가 있다. 그러므로 만약 여러분이 RDT 플러그인을 미리 설치해 놓지 않았다면 이전 섹션에서 설명했던 대로 RDT 플러그인을 설치해 놓는다. RadRails 플러그인을 설치하려면 Help>Software Updates>Find and Install을 차례로 선택한다. Feature Updates 프레임에서 “Search for new features to install”을 선택하고 Next를 클릭한다. “Update sites to visit” 프레임에서는 New Remote Site 버튼을 클릭하고 사이트명에는 예를 들어 RadRails와 같이 입력하고, URL 필드에는 http://radrails.sourceforge.net/update 를 입력한 후 OK 버튼을 클릭한다. RadRails 업데이트 사이트 구성을 선택하고 Finish를 클릭한다. features to install를 선택하고 Next를 클릭한다. 기능 라이선스를 수락하고 Next를 클릭한다. Installation 프레임에서는 Finish 버튼을 클릭하고 Feature Verification 프레임에서는 “Install All”을 선택한다. 새로 설치한 플러그인을 적용하기 위해 이클립스를 재시작하고 나서 Window>Open Perspective>Other>Rails를 선택하여 RadRails 퍼스펙티브를 연다.


[그림 15] 레일즈 퍼스펙티브 열기

RadRails 퍼스펙티브에는 서버(Servers), 제너레이터(Generators), Rake 태스크(Rake Tasks), 콘솔(Console), RI, 그리고 레일즈 플러그인(Rails Plugin)과 같은 뷰가 포함되어 있다. 서버 뷰는 레일즈 애플리케이션을 위한 WEBrick 서버 구성들로 이루어져 있다. 제너레이터 뷰는 모델 제너레이터, 컨트롤러, 스캐폴드, 그리고 마이그레이션 스크립트로 이루어져 있다. Rake 태스크 뷰는 아직도 개발중이며 migrate와 같은 rake 태스크들로 이루어져 있다.

레일즈 애플리케이션 만들기

다음으로 File>New>Project를 차례로 선택하여 레일즈 프로젝트를 생성한다. New 갤러리에서Rails Project 마법사를 선택하고 Next를 클릭한다.


[그림 16] 레일즈 프로젝트 생성

새 레일즈 프로젝트 프레임에서 프로젝트명은 catalog로 지정하고 New Rails Project 프레임에서 “Generate Rails Application skeleton”과 “Create WEBrick Server” 옵션을 선택한 후 Finish를 클릭한다. 레일즈 네비게이터 뷰에 나타나 있는 것과 같이 레일즈 애플리케이션이 하나 생성될 것이다.


[그림 17] 레일즈 애플리케이션

MySQL 데이터베이스를 사용하기 위하여 database.yml 파일을 다음과 같이 수정할 필요가 있다:
development:
  adapter: mysql
  database: test
  username: root
  password: 
  host: localhost

[그림 18] database.yml 수정

SQL 스크립트를 사용하여 MySQL 데이터베이스에 catalogs라는 이름의 데이터베이스 테이블을 생성한다:
CREATE TABLE catalogs(Journal VARCHAR(255), 
Publisher VARCHAR(255),Edition VARCHAR(255), 
Title Varchar(255), Author Varchar(255));
INSERT INTO catalogs VALUES("developerWorks", 
"IBM", "September 2006", "A PHP V5 migration  guide", "Jack D. Herrington");
INSERT INTO catalogs VALUES("developerWorks",   
"IBM", "September 2006", "Make Ruby on Rails easy with RadRails and Eclipse
", "Pat Eyler");
CRUD 애플리케이션 만들기

다음으로는 catalogs 데이터베이스 테이블에 대한 스캐폴딩을 생성할 것이다. 액티브레코드(ActiveRecord)는 pluralization을 이용하는데, 이것은 데이터베이스 테이블명이 첫글자가 소문자인 모델 클래스명의 복수형인 것을 말한다. 스캐폴딩은 모델과 컨트롤러 스크립트, 그리고 RHTML 뷰 템플릿으로 이루어진다. 스캐폴딩 제너레이터를 이용하여 스캐폴딩을 생성한다. Generators 뷰를 선택하고 스캐폴딩 제너레이터를 선택한다. 모델명을 catalog로 지정하고 Go 버튼을 클릭한다. 스캐폴딩 제너레이터에서 컨트롤러명은 선택사항이며 기본값으로 모델명의 복수형으로 지정된다.


[그림 19] “catalog” 테이블에 대한 스캐폴딩 생성

catalogs 테이블에 대한 스캐폴딩이 생성된다. 스캐폴딩은 ActiveRecord::Base를 확장하는 모델 클래스인 Catalog와 ApplicationController, 나아가 ActionController:Base 클래스를 확장하는 컨트롤러 클래스인 CatalogsController로 이루어진다. 모델 스크립트는 app/models 디렉터리에 생성되며, 그리고 컨트롤러 스크립트는 app/controllers 디렉터리에 생성된다. 뷰 템플릿인 _form.rhtml, show.rhtml, list.rhtml, edit.rhtml, 그리고 new.rhtml은 app/views/catalogs 디렉터리에 생성된다. 다음으로 그림 20에 나타나 있는 것과 같이 catalog레일즈 애플리케이션에 대한 WEBrick 서버 구성을 시작한다.


[그림 20] WEBrick 서버 시작

WEBrick 서버가 시작되면 http://localhost:3000 URL에 WEBrick 콘솔을 보여진다. list 컨트롤러 액션을 이용하여 catalog 항목들의 목록을 표시한다. http://localhost:3000/catalogs/list URL로 list 액션을 호출한다.


[그림 21] catalogs 리스팅

지금까지 살펴본 것과 같이 루비 온 레일즈 애플리케이션은 명령행 도구를 이용해서도 생성할 수 있지만 이클립스용 루비 온 레일즈 플러그인을 사용하여 이클립스에서도 생성할 수 있다.
저자 Deepak Vohra는 NuBean의 컨설턴트 겸 웹 개발자이다.
TAG :
댓글 입력
자료실

최근 본 상품0