Ruby on Rails 2.1-Dir 구조
Rails의 도우미 스크립트를 사용하여 애플리케이션을 만들면 애플리케이션의 전체 디렉토리 구조가 생성됩니다. Rails는이 구조 내에서 필요한 것을 찾을 수있는 위치를 알고 있으므로 입력을 제공 할 필요가 없습니다.
다음은 응용 프로그램 생성시 도우미 스크립트에 의해 생성 된 디렉터리 트리의 최상위보기입니다. 릴리스 간의 사소한 변경을 제외하고 모든 Rails 프로젝트는 동일한 이름 지정 규칙을 가진 동일한 구조를 갖습니다. 이러한 일관성은 엄청난 이점을 제공합니다. 프로젝트 구성을 다시 배우지 않고도 Rails 프로젝트간에 빠르게 이동할 수 있습니다.
이 디렉토리 구조를 이해하기 위해 demo설치 장에서 만든 응용 프로그램. 다음과 같이 간단한 도우미 명령을 사용하여 만들 수 있습니다.
C:\ruby\> rails -d mysql demo
이제 다음과 같이 데모 애플리케이션 루트 디렉토리로 이동하십시오.
C:\ruby\> cd demo
C:\ruby\demo> dir
다음과 같은 디렉토리 구조를 찾을 수 있습니다.
demo/
..../app
......../controller
......../helpers
......../models
......../views
............../layouts
..../config
..../db
..../doc
..../lib
..../log
..../public
..../script
..../test
..../tmp
..../vendor
README
Rakefile
이제 각 디렉토리의 용도를 설명하겠습니다.
app− 응용 프로그램 구성 요소를 구성합니다. 뷰 (뷰 및 헬퍼), 컨트롤러 (컨트롤러) 및 백엔드 비즈니스 로직 (모델)을 보유하는 하위 디렉토리가 있습니다.
app/controllers− controllers 하위 디렉토리는 Rails가 컨트롤러 클래스를 찾는 곳입니다. 컨트롤러는 사용자의 웹 요청을 처리합니다.
app/helpers− helpers 하위 디렉토리에는 모델,보기 및 컨트롤러 클래스를 지원하는 데 사용되는 모든 도우미 클래스가 있습니다. 모델,보기 및 컨트롤러 코드를 작고 집중적이며 깔끔하게 유지하는 데 도움이됩니다.
app/models− models 하위 디렉토리에는 응용 프로그램의 데이터베이스에 저장된 데이터를 모델링하고 래핑하는 클래스가 있습니다. 대부분의 프레임 워크에서 애플리케이션의이 부분은 매우 지저분하고 지루하며 장황하고 오류가 발생하기 쉽습니다. Rails를 사용하면 간단합니다!
app/view −보기 하위 디렉토리에는 애플리케이션의 데이터를 채우고 HTML로 변환 한 다음 사용자 브라우저로 돌아가는 디스플레이 템플릿이 있습니다.
app/view/layouts− 뷰와 함께 사용할 레이아웃의 템플릿 파일을 보관합니다. 이것은 뷰를 래핑하는 일반적인 머리글 / 바닥 글 방법을 모델링합니다. 보기에서 <tt> layout : default </ tt>를 사용하여 레이아웃을 정의하고 default.rhtml이라는 파일을 작성하십시오. default.erb 내에서 <% yield %>를 호출하여이 레이아웃을 사용하여 뷰를 렌더링합니다.
config−이 디렉토리에는 데이터베이스 구성 (database.yml), Rails 환경 구조 (environment.rb), 수신 웹 요청 라우팅 (routes.rb) 등 애플리케이션에 필요한 소량의 구성 코드가 포함되어 있습니다. 환경 디렉토리에있는 파일을 사용하여 테스트, 개발 및 배포를 위해 세 가지 Rails 환경의 동작을 조정할 수도 있습니다.
db− 일반적으로 Rails 애플리케이션에는 관계형 데이터베이스 테이블에 액세스하는 모델 객체가 있습니다. 이 디렉토리에 작성하고 배치하는 스크립트로 관계형 데이터베이스를 관리 할 수 있습니다.
doc −이 디렉토리는 다음을 사용하여 생성 될 때 응용 프로그램 문서가 저장되는 곳입니다. rake doc:app.
lib− 애플리케이션 별 라이브러리는 여기로 이동합니다. 기본적으로 컨트롤러, 모델 또는 도우미에 속하지 않는 모든 종류의 사용자 지정 코드입니다. 이 디렉토리는로드 경로에 있습니다.
log− 오류 로그는 여기로 이동합니다. Rails는 다양한 오류 로그를 관리하는 데 도움이되는 스크립트를 생성합니다. 서버 (server.log) 및 각 Rails 환경 (development.log, test.log 및 production.log)에 대한 별도의 로그를 찾을 수 있습니다.
public− 웹 서버의 공용 디렉토리와 마찬가지로이 디렉토리에는 JavaScript 파일 (공용 / 자바 스크립트), 그래픽 (공용 / 이미지), 스타일 시트 (공용 / 스타일 시트) 및 HTML 파일 (공용)과 같이 변경되지 않는 웹 파일이 있습니다. ). 웹 서버의 DOCUMENT_ROOT로 설정해야합니다.
script−이 디렉토리에는 Rails에서 사용할 다양한 도구를 시작하고 관리하는 스크립트가 있습니다. 예를 들어 코드를 생성 (생성)하고 웹 서버 (서버)를 시작하는 스크립트가 있습니다.
test− 작성한 테스트와 Rails가 생성 한 테스트는 모두 여기에 있습니다. 모의 (mocks), 유닛 테스트 (유닛), 픽스쳐 (픽스처), 기능 테스트 (기능성)에 대한 하위 디렉토리가 표시됩니다.
tmp − Rails는 중간 처리를 위해 임시 파일을 보관하기 위해이 디렉토리를 사용합니다.
vendor − 타사 공급 업체에서 제공하는 라이브러리 (예 : 기본 Rails 배포판 이외의 보안 라이브러리 또는 데이터베이스 유틸리티)가 여기에 있습니다.
이 디렉토리 외에 데모 디렉토리에는 두 개의 파일이 있습니다.
README −이 파일은 Rail Application에 대한 기본 세부 사항과 위에서 설명한 디렉토리 구조에 대한 설명을 포함합니다.
Rakefile−이 파일은 Unix Makefile과 유사하여 Rails 코드를 빌드, 패키징 및 테스트하는 데 도움이됩니다. 이것은 다음에 의해 사용될 것입니다rake Ruby 설치와 함께 제공되는 유틸리티.