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

한빛출판네트워크

IT/모바일

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

한빛미디어

|

2007-05-21

|

by HANBIT

11,093

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

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

데이터베이스 테이블 생성

가장 먼저 MySQL 데이터베이스에 대한 database.yml 파일을 수정할 필요가 있다. [그림 9]에 나타나 있는 것과 같이 다음의 설정내용으로 개발 환경설정을 수정한다.
development:
  adapter: mysql
  database: test
  username: root
  password: 
  host: localhost

[그림 9] database.yml 수정

다음으로는 마이그레이션을 이용하여 MySQL 데이터베이스에 테이블을 생성할 텐데 그렇게 하기 위해서는 rake 명령어에 필요한 외부 도구 설정을 생성할 필요가 있다. Rake는 자바의 ant 명령어와 유사하며 migrate 타겟을 실행하는데 사용된다. Rake 환경설정의 Location 필드에는 rake.bat 파일의 위치를 지정하고 Working Directory 필드에는 {project_loc}을, 그리고 Argument 필드에는 migrate를 입력한다.


[그림 10] Rake환경설정

이번에는 모델 스크립트를 생성하여 마이그레이션 스크립트를 생성할 것이다. Run>External Tools>Create Model을 선택하여 모델 스크립트를 생성한다. Variable Input 프레임에서 모델명으로 catalog를 입력하고 확인을 클릭한다. 모델 스크립트인 catalog.rb와 마이그레이션 스크립트인 001_create_catalogs.rb가 catalog 레일즈 프로젝트에 추가될 것이다. 마이그레이션 스크립트를 수정하여 “catalogs”라는 데이터베이스 테이블을 생성한다. 생성된 001_create_catalogs.rb 마이그레이션 스크립트는 아래와 같다:
class CreateCatalogs < ActiveRecord::Migration
  def self.up
    create_table :catalogs do |t|
   t.column :journal, :string, :limit => 255
   t.column :publisher, :string, :limit => 255
   t.column :edition, :string, :limit => 255
    t.column :title, :string, :limit => 255
   t.column :author, :string, :limit => 255

end

Catalog.create :journal => "developerWorks", 
:publisher => "IBM", :edition => "September 2006", 
:title=> "A PHP V5 migration guide",:author=>"Jack D. Herrington"
Catalog.create :journal => "developerWorks", 
:publisher => "IBM", :edition => "September 2006", 
:title=> "Make Ruby on Rails easy with RadRails and Eclipse",
:author=>"Pat Eyler"
   
  end
  def self.down
    drop_table :catalogs
  end
end
아직 MySQL 데이터베이스가 시작되지 않았으면 시작하고, rake 명령을 이용하여 마이그레이션을 실행한다. 마이그레이션 스크립트를 선택하고 Run>External Tools>Rake를 선택한다. [그림 11]에 나타나 있는 것과 같이 “catalogs”라는 데이터베이스 테이블이 생성될 것이다.


[그림 11] 데이터베이스 테이블 생성

CRUD 애플리케이션 만들기

다음으로는 스캐폴드 제너레이터를 이용하여 CRUD 애플리케이션을 작성해볼 것이다. 스캐폴드 제너레이터는 데이터베이스 테이블에 들어있는 데이터에 대한 인터페이스로 사용될 모든 필요한 모델과 컨트롤러 스크립트 및 RHTML 뷰 템플릿을 생성해준다. Run>External Tools>Create Scaffold를 선택하여 catalogs 데이터베이스 테이블에 대한 스캐폴딩을 생성한다. Variable Input 프레임의 모델명과 컨트롤러의 이름(예, catalog)을 지정한다. 모델 클래스로 이루어진 스캐폴딩인 catalog.rb와 컨트롤러 클래스인 catalog_controller.rb, 그리고 뷰 템플릿인 _form.rhtml, edit.rhtml, show.rhtml, list.rhtml, new.rhml이 레일즈 애플리케이션에 생성될 것이다. Run>External Tools>Start WEBrick 서버를 차례로 선택하여 WEBrick 서버를 시작한다.


[그림 12] WEBrick 서버 시작

http://localhost:3000 URL을 통해 WEBrick 서버에 접속한다.


[그림 13] 레일즈 index.html 페이지

나열된 catalog 항목들은 list 컨트롤러 액션으로 보여질 수 있다. http://localhost:3000/catalog/list URL을 통해 list 컨트롤러 액션을 호출한다.


[그림 14] 카탈로그 리스팅

다음으로는 RadRails 플러그인에 대해 알아보도록 하겠다.
TAG :
댓글 입력
자료실

최근 본 책0