ENV['RAILS_ENV'] ||= "development"
require File.dirname(__FILE__) + '/../../../config/boot'
require File.join(Rails.root, 'config/environment')
이것은 내 레일 어플리케이션의 초기 부분입니다. 누구든지이 세 줄의 목적이 무엇인지 설명 할 수 있습니까?레일 초기화 프로세스
ENV['RAILS_ENV'] ||= "development"
require File.dirname(__FILE__) + '/../../../config/boot'
require File.join(Rails.root, 'config/environment')
이것은 내 레일 어플리케이션의 초기 부분입니다. 누구든지이 세 줄의 목적이 무엇인지 설명 할 수 있습니까?레일 초기화 프로세스
#/usr/지방/ruby- current/bin/ruby -이 파일을 실행하는 방법을 유닉스 계열 시스템에 알리는 shebang 주석.
ENV [ 'RAILS_ENV'] || = "development"- 선택한 작업 환경이 개발 환경인지 확인합니다. 그렇지 않은 경우 개발 환경을 설정합니다.
레일 초기화 프로세스 : 모든 애플리케이션의/public 디렉토리에서 dispatch.cgi, dispatch.fcgi, dispatch.rb라는 세 파일을 찾을 수 있습니다. 레일즈 프로세스 (CGI 프로세스, 빠른 CGI 프로세스 또는 루비 프로세스)를 시작하도록 서버를 구성하는 방법은 세 파일 중 어느 파일이 실행될 것인지 결정합니다. 실행 된 디스패치 파일은 Rails 환경을로드하고 디스패처를 호출하여 웹 서버의 요청에 응답합니다. boot.rb는 Rails_Root 환경 변수가 설정되었는지 확인합니다. 아직 수행되지 않은 경우 boot.rb는/config 아래의 한 레벨 디렉토리로 정의합니다. 일단 Rails_Root가 설정되면 공급 업체/레일에 고정 된 레일 환경의 존재 여부를 확인하여 레일을로드하는 프로세스를 계속 진행합니다. 이 폴더가 존재하면 boot.rb에 레일즈 이니셜 라이저가 필요합니다. 우리가 Rails의 로컬 (동결) 복사본이 없다면 boot.rb는 rubygems 라이브러리를로드하고 environment.rb를 스캔하여 RAILS_GEM_VERSION이 상수인지 확인합니다. boot.rb가 있으면 해당 정의 된 버전의 Rails에 대한 초기화 프로그램을로드합니다 (해당 버전의 Rails가 시스템에없는 경우 오류가 발생합니다). RAILS_GEM_VERSION이 정의되어 있지 않으면 boot.rb는 시스템에 설치된 레일스의 가장 최신 버전을 초기화하려고 시도합니다.
당신이 레일 무엇인지 깊이 모습 초기화 장을 읽기 레일 가이드를 통해, 시작에 머리를 수행하고 싶다면!
설정되지 않은 경우 처음으로 환경을 "개발"로 설정합니다. 두 번째 것은'config/boot.rb'를로드합니다. 셋째로'config/environment.rb'가로드됩니다 – shime
이 초기화 프로세스에 대한 자세한 내용을 알려주십시오. 왜 boot.rb와 environment.rb를로드해야합니까? Rails.root와 File.join은 무엇을합니까? – Aayush