erb의 의미는 무엇입니까?


132

왜 Rails 애플리케이션의 형식이 형식 *.erb.html입니까? "erb"는 무엇을 의미합니까?

답변:


164

erb는 "Embedded RuBy"를 나타냅니다. .html.erb또는 .erb.html파일에 포함 된 루비 코드와 HTML입니다; Rails는 파일에 컨텐츠를 동적으로 추가하기 위해 Ruby를 평가하고 렌더링을 위해 "순수한"HTML 파일을 출력합니다.


9
보너스 : 로케일을 믹스에 추가 할 수도 있습니다 : index.en.html.erbindex.de.html.erb
iain

3
절름발이, 그들은 HTML을 제거해야합니다. u html.php가 보이지 않음
luckyguy73

46

@Chowlett이 앞에서 언급했듯이 erb는 Embedded Ruby를 나타냅니다 . 파일을 ".html.erb"로 정의하면 루비 코드가 포함 된 HTML 파일이며 레일 파일의 ".rhtml"확장자와 유사합니다.

".html.erb"와 ".rhtml"의 상세하고 좋은 차이점은 여기를 클릭하십시오.

".rhtml"과 동일하게 ".rjs"확장자의 이름을 ".js.erb"로 또는 ".rxml"을 ".xml.erb"로 바꿀 수도 있습니다.

이 형식은이 경우 "erb"인 템플리트 엔진에서 컨텐츠 유형을 분리합니다.


1
내 답변을 주셔서 감사합니다 @khanh 감사합니다 :)
Nimesh Nikum 5

9

스튜어트 엘리스의 ERB 템플릿 소개 :

ERB (Embedded RuBy)는 Ruby에서 제공하는 기능으로 템플릿에서 모든 수량의 텍스트를 편리하게 생성 할 수 있습니다. 템플릿 자체는 변수 대체 및 흐름 제어를 위해 일반 텍스트와 Ruby 코드를 결합하여 작성 및 유지 관리가 용이합니다.

ERB는 웹 페이지 생성에서 가장 일반적으로 사용되지만 XML 문서, RSS 피드, 소스 코드 및 기타 형태의 구조화 된 텍스트 파일을 생성하는 데에도 사용됩니다. 단위 테스트 스위트와 같은 많은 표준 패턴 반복이 포함 된 파일을 작성해야 할 때 매우 유용 할 수 있습니다.

ERB의 주요 구성 요소는 Ruby 애플리케이션 및 Rake 태스크 내에서 호출 할 수있는 라이브러리입니다. 이 라이브러리는 모든 문자열을 템플릿으로 허용하며 템플릿 소스에 제한을 두지 않습니다. 코드 내에서 템플릿을 완전히 정의하거나 외부 위치에 저장하고 필요에 따라로드 할 수 있습니다. 즉, 템플릿을 파일, SQL 데이터베이스 또는 사용하려는 다른 종류의 저장소에 보관할 수 있습니다.

Ruby 배포에는 추가 코드를 작성하지 않고도 파일에 보관 된 템플릿을 처리 할 수있는 명령 줄 유틸리티가 포함되어 있습니다. 논리적으로이 유틸리티를 erb라고합니다.

ERB는 Ruby 표준 라이브러리의 일부입니다. 사용하기 위해 다른 소프트웨어를 설치할 필요는 없습니다.

원본 기사에는 ERB 사용에 대한 자세한 내용과 간단한 안내서가 포함되어 있습니다. 당신은 또한 공식 문서를 읽을 수 있습니다 .


참고 : 위 인용 된 블록은 이전에 ERB 소개에 링크 하거나 해당 사용자의 작업이 아님을 확인 하지 않고 다른 사용자가 답변으로 게시했습니다 . 그 게시물은 표절로 삭제되었습니다. 그러나 나는 이것이 유용한 답변 이라고 생각했기 때문에 원저자 인 Stuart Ellis에게 적절한 귀속을주는 인용문을 다시 게시했습니다.


5

ERb라고도하는 내장 Ruby는 웹 페이지에 동적 컨텐츠를 포함하기위한 기본 템플리트 시스템입니다. -마이클 허틀


4

from template-format ERB 템플릿을 포함하는 파일은 임의의 이름을 가질 수 있지만 파일 이름은 .erb 확장자로 끝나는 것이 관례입니다. Rails는 layout.html.erb와 같은 이름이 HTML 템플릿을 나타내도록 템플릿 파일의 출력 유형 확장자가 .erb 여야합니다.

erb 파일은 단순히 텍스트를 출력합니다. 더 이상 없습니다. 파일 내부의 정적 텍스트와 루비 코드의 혼합에 따른 텍스트 erb를 사용하여 Rails에서 기본 사용법을 HTML로 생성 할 수 있습니다. 브라우저가 페이지를 표시해야하기 때문입니다.

루비에는 특정 기본값이 있습니다. 하나의 기본값은 컨트롤러가 html 페이지를 렌더링한다는 것입니다. 그러나 웹 API를 작성하면 .xml 또는 .json 또는 .csv로 쉽게 응답 할 수 있습니다.

Erb는 텍스트를 생성하는 라이브러리 클래스입니다. 더 이상 없습니다. 정적 텍스트와 루비 코드가 혼합 된 파일이 필요합니다. 루비 코드를 실행하고 컨트롤러의 경우 html 인 경우 다른 파일에 결과를 씁니다.


당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.