Ruby on Rails-예제
이 장에서는 책을 보관하고 관리하기위한 간단하지만 운영 가능한 온라인 도서관 시스템을 만들 것입니다.
이 응용 프로그램은 기본 아키텍처를 가지고 있으며 저장되는 데이터 유형을 설명하기 위해 두 개의 ActiveRecord 모델을 사용하여 구축됩니다.
- 실제 목록을 설명하는 책.
- 책을 그룹화하는 데 사용되는 주제입니다.
Rails 애플리케이션 생성을위한 워크 플로
Rails 애플리케이션 생성을위한 권장 작업 흐름은 다음과 같습니다.
rails 명령을 사용하여 응용 프로그램의 기본 골격을 만듭니다.
데이터를 보관할 PostgreSQL 서버에 데이터베이스를 만듭니다.
데이터베이스 위치와 이에 대한 로그인 자격 증명을 알도록 애플리케이션을 구성합니다.
컨트롤러에서 작업 할 비즈니스 객체이기 때문에 Rails Active Records (모델)를 생성합니다.
데이터베이스 테이블 및 열의 생성 및 유지를 단순화하는 마이그레이션을 생성합니다.
응용 프로그램에 생명을 불어 넣는 컨트롤러 코드를 작성하십시오.
사용자 인터페이스를 통해 데이터를 표시하는보기를 만듭니다.
이제 라이브러리 애플리케이션을 만드는 것부터 시작하겠습니다.
빈 Rails 웹 애플리케이션 생성
Rails는 런타임 웹 애플리케이션 프레임 워크이자 웹 애플리케이션을 개발할 때 수행하는 많은 작업을 자동화하는 헬퍼 스크립트 세트입니다. 이 단계에서는 이러한 도우미 스크립트 하나를 사용하여 전체 디렉토리 구조를 만들고 라이브러리 시스템 응용 프로그램을 시작하기위한 초기 파일 집합을 만듭니다.
루비 설치 디렉토리로 이동하여 애플리케이션을 만듭니다.
다음 명령을 실행하여 라이브러리 애플리케이션의 스켈레톤을 생성합니다. 현재 디렉토리에 디렉토리 구조를 생성합니다.
tp> rails new library
이렇게하면 빈 Rails 애플리케이션에 대한 폴더 및 파일의 전체 디렉토리 트리를 포함하는 라이브러리 애플리케이션의 하위 디렉토리가 생성됩니다. 애플리케이션의 전체 디렉토리 구조를 확인하십시오. 확인 레일 디렉토리 구조를 자세히 위해.
대부분의 개발 작업은 library/app하위 디렉토리. 다음은 사용 방법에 대한 간단한 설명입니다.
컨트롤러의 하위 디렉토리는 컨트롤러 클래스를 찾을 외모 레일 곳입니다. 컨트롤러는 사용자의 웹 요청을 처리합니다.
뷰의 하위 디렉토리는 우리의 응용 프로그램, 변환 HTML, 그리고 사용자의 브라우저에 반환의 데이터에 채우기 위해 디스플레이 템플릿을 보유하고 있습니다.
모델의 하위 모델과는 우리의 응용 프로그램 데이터베이스에 저장된 데이터를 래핑하는 클래스를 보유하고 있습니다. 대부분의 프레임 워크에서 애플리케이션의이 부분은 매우 지저분하고 지루하며 장황하고 오류가 발생하기 쉽습니다. Rails는 그것을 간단하게 만듭니다.
도우미의 하위 디렉토리는 모델, 뷰, 컨트롤러 클래스를 지원하기 위해 사용되는 헬퍼 클래스를 보유하고 있습니다. 이렇게하면 모델,보기 및 컨트롤러 코드를 작고 집중적이며 깔끔하게 유지하는 데 도움이됩니다.
웹 서버 시작
Rails 웹 애플리케이션은 거의 모든 웹 서버에서 실행할 수 있지만 Rails 웹 애플리케이션을 개발하는 가장 편리한 방법은 내장 된 WEBrick 웹 서버를 사용하는 것입니다. 이 웹 서버를 시작한 다음 빈 라이브러리 애플리케이션을 찾아 보겠습니다.
이 서버는 다음과 같이 응용 프로그램 디렉토리에서 시작됩니다. 포트 번호 3000에서 실행됩니다.
tp> cd ruby\library
tp\ruby\library\> Rails server
아래와 같이 서버를 시작하는 자동 코드를 생성합니다.
그러면 WEBrick 웹 서버가 시작됩니다.
이제 브라우저를 열고 http://127.0.0.1:3000. 모든 것이 잘되면 WEBrick의 인사말 메시지가 표시됩니다. 그렇지 않으면 설정에 문제가 있습니다. 모든 것이 잘되면 다음과 같이 출력이 생성됩니다.
다음은 무엇입니까?
다음 장에서는 응용 프로그램에 대한 데이터베이스를 만드는 방법과 이러한 생성 된 데이터베이스에 액세스하는 데 필요한 구성이 무엇인지 설명합니다.
또한 Rails Migration이 무엇인지, 데이터베이스 테이블을 유지하는 데 어떻게 사용되는지 살펴볼 것입니다.