Computer >> 컴퓨터 >  >> 프로그램 작성 >> Ruby

Ruby on Rails의 스캐폴딩이란?

Rails를 배우고 있고 Rails 애플리케이션을 시작하려면 "스캐폴드"를 만들어야 한다는 내용을 읽었을 수도 있습니다.

쉽게!

rails g scaffold를 사용하여 이 작업을 수행할 수 있습니다. 명령.

하지만 스캐폴딩이란 무엇인가요?

<블록 인용>

"비계는 건물, 교량 및 기타 모든 인공 구조물의 건설, 유지 보수 및 수리를 돕기 위해 작업자를 지원하는 데 사용되는 임시 구조물입니다." – 위키피디아

Rails로 번역 :

스캐폴드는 Rails 프로젝트의 기본 구조를 형성하는 자동으로 생성된 파일 세트입니다.

이 파일에는 다음이 포함됩니다. :

  • 컨트롤러
  • 모델
  • 모든 표준 컨트롤러 작업에 대한 보기(색인, 수정, 표시, 새로 만들기)

새로운 길.

그리고 데이터베이스를 준비하기 위한 마이그레이션.

예를 들어봅시다!

Rails 스캐폴드 명령을 사용하는 방법

책에 대한 웹사이트를 위한 스캐폴딩 프로젝트의 예는 다음과 같습니다.

rails g scaffold books

생성 중인 파일에 대해 자세히 설명하는 많은 텍스트 스크롤이 표시되어야 합니다.

이 예는 다음을 생성합니다. :

  • BooksController
  • Book 모델
  • 새로운 resources :books config/routes.rb에 추가된 경로 파일
  • 테스트 관련 파일 세트
  • app/views/books에서 파일 보기 (총 5개)

네.

많습니다.

이 스캐폴딩을 취소하고 싶다면 생성 직후 다음 명령어를 사용하면 됩니다.

rails d scaffold books

여기서 "d"는 "파괴"를 의미합니다.

파일이 삭제됩니다는 점에 유의하세요. 스캐폴딩 프로세스에 의해 생성됩니다.

지금 :

스캐폴드 코드를 사용하려면 마이그레이션을 실행하여 데이터베이스 스키마를 업데이트해야 합니다.

rails db:migrate 사용 명령.

오류 메시지가 표시되지 않으면 준비가 된 것입니다! 새 Rails 애플리케이션 또는 새 모델, 보기 및 해당 컨트롤러가 필요한 새 기능에 대한 기본 구조가 있습니다.

다음 :

rails server 실행 .

브라우저를 열어 localhost:3000/books 결과를 볼 수 있어야 합니다!

추가 필드가 있는 레일 스캐폴딩

기본적으로...

모델은 타임스탬프 필드만 가져옵니다. 즉, 책(또는 작업 중인 모델)에 대해 기록할 수 있는 정보는 책이 만들어지거나 업데이트된 시간뿐입니다.

추가 필드로 스캐폴드하는 방법은 다음과 같습니다. :

rails g scaffold books title:string author:string publication_year:integer

이렇게 스캐폴딩을 생성하면 작업할 필드가 3개가 됩니다.

제목, 저자 및 발행 연도.

데이터베이스 타임스탬프를 가지고 있는 것보다 조금 더 흥미롭습니다.

그런데

이것은 rails g migration으로 마이그레이션을 생성하는 데 사용하는 것과 동일한 구문입니다. .

특정 구성요소 생성

스캐폴딩은 지금 당장 필요하지 않거나 원하지 않는 것을 만듭니다.

하지만 Rails는 훌륭합니다.

rails g를 사용하여 컨트롤러와 같은 개별 구성 요소를 만들 수 있습니다. (g는 생성) 명령입니다.

:

  • rails g controller Fruit
  • rails g model Fruit name:string color:string (모델 생성 + 마이그레이션)
  • rails g migration CreateBook title:string year:integer (마이그레이션만 생성)

스캐폴딩 명령을 사용할 때의 큰 이점 중 하나는 모든 파일이 올바른 명명 규칙을 사용하여 생성되어 이상한 오류 메시지를 피할 수 있다는 것입니다. 또한 이러한 파일을 수동으로 생성해야 하는 수고를 덜어줍니다.

그런데...

사용하지 않을 자동 생성 파일은 삭제하는 것이 좋습니다. 따라서 "g controller"와 같은 생성기를 사용한 후 생성된 파일 목록을 검토하고 필요하지 않은 파일을 제거하십시오.

요약

Ruby의 스캐폴딩에 대해 배웠으므로 새로운 Rails 애플리케이션을 빠르게 시작할 수 있습니다.

더 많이 배우면서 비계를 버리고 싶을 수도 있습니다.

그러나 필요할 때 개별 컨트롤러, 모델을 생성하거나 파일을 볼 수 있습니다.

읽어 주셔서 감사합니다! 🙂