초보자를 위한 프로젝트 및 예제를 통한 Ruby on Rails 튜토리얼
루비는 무엇입니까?
루비 고수준, 해석 및 객체 지향 프로그래밍 언어입니다. 훌륭한 커뮤니티가 뒷받침하는 역동적인 오픈소스 언어입니다. 루비는 단순성과 생산성을 위해 설계되었습니다. 인간을 먼저, 컴퓨터를 나중에 소프트웨어 코드로 작성하도록 장려합니다. 1995년 일본에서 유키히로 마츠모토가 만들었습니다.
레일즈란 무엇인가요?
울타리 웹 애플리케이션을 구축하기 위해 루비로 작성된 개발 프레임워크입니다. Basecamp 애플리케이션의 기반으로 만들어졌고 2004년에 오픈소스 소프트웨어로 출시되었습니다. Rails는 많은 내장된 표준 기능과 기능을 제공하므로 MVP 프로토타입 및 개발에 적합한 옵션입니다.
DHH로 널리 알려진 David Heinemeier Hasson이 만들었습니다. 웹 애플리케이션 구축에 가장 영향력 있고 널리 사용되는 도구 중 하나입니다. Airbnb와 같은 즐겨찾는 사이트에서 사용됩니다. Github, Shopify 등
왜 레일인가?
Rails 사용의 장점/이점은 다음과 같습니다.
- Rails는 Ruby gem으로 패키지되어 있으며 이를 사용하여 다양한 애플리케이션을 구축할 수 있습니다.
- 이를 통해 일반 웹 애플리케이션, 전자 상거래 애플리케이션, 콘텐츠 관리 시스템 등을 구축할 수 있습니다.
- Rails는 모델-뷰-컨트롤러 패턴을 사용하여 데이터베이스 기반 웹 애플리케이션을 만드는 데 필요한 모든 것을 포함하는 풀 스택 프레임워크입니다.
- 이는 모든 레이어가 더 적은 코드로 원활하게 작동하도록 구축되었음을 의미합니다. 다른 프레임워크보다 적은 코드 줄이 필요합니다.
Ruby를 다운로드하고 설치하는 방법 Windows
설치 과정은 운영 체제에 따라 달라집니다. Ruby를 설치하는 과정을 거치게 됩니다. Windows, Mac 및 Linux.
단계 1) Ruby설치 프로그램 다운로드
Ruby를 설치하는 가장 쉬운 방법 Windows 컴퓨터는 Ruby Installer를 통해 다운로드할 수 있습니다. https://rubyinstaller.org/.
다운로드한 설치 프로그램을 실행하기만 하면 됩니다.
단계 2) 다운로드한 설치 프로그램을 클릭하세요.
Double-다운로드한 설치 프로그램 'rubyinstaller-2.4.1-2-x64.exe'를 클릭합니다.
단계 3) 라이센스에 동의
'라이센스에 동의합니다' 라디오 버튼을 선택하고 '다음' 버튼을 클릭하세요. 그러면 아래의 다음 그림이 나타납니다.
단계 4) 첫 번째 두 개의 체크박스를 체크하세요
Ruby 스크립트 실행을 더 쉽게 하려면 처음 두 개의 확인란을 선택하세요.
설치를 시작하려면 '설치' 버튼을 클릭하세요. 설치가 완료되면 아래 그림이 표시됩니다.
단계 5) Finish를 클릭하십시오.
MSYS2를 설치하는 체크박스 옵션의 선택을 취소하지 마십시오. "Finish"를 클릭하여 설치를 완료하면 아래 그림에 표시된 명령 프롬프트 창이 표시됩니다.
단계 6) MSYS2 설치
이 단계에서는 패키지를 쉽게 설치할 수 있도록 패키지 관리자를 갖춘 빌딩 플랫폼인 MSYS2를 설치합니다. Windows.
원활한 Ruby on Rails 개발 환경을 구축하는 데 필요한 모든 구성 요소를 설치하려면 Enter 키를 누르세요. Windows.
레일 설치
이전 섹션에서 Ruby를 설치해야 하며 이제 Rails를 설치하겠습니다. 다음 패키지를 사용하여 Rails를 설치할 수 있습니다. 레일스 인스톨러, 그러나 이것의 문제는 필요한 패키지의 최신 버전을 얻지 못한다는 것입니다.
이미 최신 Ruby와 필요한 RubyGems 및 확장 프로그램의 기본 세트를 설치했다면, 이제 명령 프롬프트에서 다음 명령을 실행하여 시스템에 Rails를 설치하기만 하면 됩니다. 'gem install rails.'
당신은 또한 설치해야합니다 Node.js를 Rails가 의존하는 일부 라이브러리에는 Javascript 올바르게 작동하려면 런타임이 필요합니다. 다음에서 노드를 얻을 수 있습니다. https://nodejs.org.
이는 개발에 있어 더 일반적이고 선호되는 접근 방식입니다. Windows. Rails 커뮤니티는 다음을 사용합니다. Windows 명령줄 도구, 유틸리티 및 일반 애플리케이션을 GNU/Linux 환경에 직접 제공하는 Linux용 하위 시스템입니다. Windows.
맥에 루비 설치하기
Mac에는 이미 Ruby가 사전 설치되어 있습니다. 그러나 사전 설치된 버전이 오래되었을 수 있으므로 새로운/최신 버전을 설치해야 합니다.
이를 수행하는 가장 쉬운 방법은 다음과 같은 패키지 관리자를 사용하는 것입니다. 사제. 먼저 터미널에서 아래 명령을 실행하여 Homebrew를 설치해야 할 수도 있습니다.
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)
그러면 경고가 표시되고 비밀번호를 입력하라는 메시지가 표시됩니다. Mac 비밀번호를 입력하세요(입력할 때 문자가 표시되지 않음). 비밀번호 입력이 끝나면 'Enter' 키를 누르세요. 그런 다음 이 간단한 Homebrew 명령을 실행하여 Mac에 Ruby를 설치하세요.
brew install ruby
또한 다음 명령을 실행합니다.
echo "export PATH="/usr/local/bin:/usr/local/sbin:$PATH >> ~/.bash_profile
이 Ruby 설치를 사전 설치된 Ruby가 아닌 시스템에서 실행할 기본 Ruby로 설정합니다.
설치가 성공적으로 완료되었는지 확인하려면 터미널에서 다음을 실행할 수 있습니다.
ruby --version
그러면 설치된 Ruby 버전 번호가 인쇄됩니다. 출력은 다음과 같습니다.
ruby 2.6.0p0 (2018-12-25 revision 66547) [x86_64-darwin18]
Ruby 설치 Ubuntu (Linux)
Ruby를 컴퓨터에 설치하는 가장 쉬운 방법 Ubuntu 시스템은 apt 패키지 관리자를 통해 이루어집니다. 최신 Ruby를 설치하려면 터미널에서 다음 명령을 실행해야 합니다. Ubuntu 리포지토리.
- sudo 적절한 업데이트 – 그러면 기본값이 업데이트됩니다. Ubuntu 저장소
- sudo apt install ruby-full – 최신 Ruby를 다운로드하여 설치합니다.
설치가 성공적으로 완료되었는지 확인하려면 다음을 실행할 수 있습니다. '루비 –버전,' 그러면 설치된 Ruby 버전이 인쇄됩니다.
레일 설치 Ubuntu (Linux)
Linux 시스템에 Rails를 성공적으로 설치하려면 아래 단계를 따라야 합니다.
단계 1) 다음을 실행하여 컴퓨터 보석 관리자를 업데이트하세요. '보석 업데이트 – 시스템' 터미널이나 명령 프롬프트에서.
단계 2) 달리기 '젬 설치 레일' 컴퓨터에 최신 버전의 Rails를 설치하려면
단계 3) Rails 애플리케이션 gem 종속성을 쉽게 관리하려면 번들러 gem을 설치해야 합니다. 달리다 '젬 설치 번들러' 그것을 얻을 수 있습니다.
레일즈의 두 가지 원칙
Rails는 기본 소프트웨어 설계 원칙을 따르며 여러분도 이러한 원칙을 사용하도록 권장합니다.
가장 일반적인 두 가지는 다음과 같습니다.
- Don't Repeat Yourself(DRY) - 이를 통해 간결하고 일관되며 유지 관리 가능한 코드를 작성할 수 있습니다.
- 구성보다 관례 – Rails는 가장 일반적인 용도에 적합한 합리적인 기본값을 사용하도록 사전 구성되어 있습니다. 이를 통해 애플리케이션 개발 속도가 빨라지고 유지 관리할 코드도 줄어듭니다.
Rails – 프로젝트 파일 구조
이제 시스템에 Rails가 설치되었으니 Rails 애플리케이션을 만들어 보겠습니다! 이 Ruby on Rails 튜토리얼에서는 Ruby on Rails 예제와 Todo 목록 애플리케이션을 만드는 방법을 알아봅니다. 다음 명령을 실행합니다. '새로운 todo_app 레일' 터미널에서 애플리케이션을 생성합니다.
이 명령은 이름이 지정된 디렉토리를 만듭니다. 'todo_app' 아래 그림과 같이 Rails 웹 애플리케이션의 기본 폴더 구조를 사용하여 현재 디렉토리에:
이 Ruby on Rails 예제에서는 기본 디렉터리를 살펴보겠습니다.
앱 – 이 디렉터리는 UI/레이아웃(뷰 및 도우미), 컨트롤러(컨트롤러 파일) 및 모델(비즈니스/애플리케이션 로직)에 대해 서로 다른 하위 디렉터리를 사용하여 그룹화됩니다.
앱/컨트롤러 – 이 디렉터리에는 Rails가 클라이언트의 요청을 처리하는 데 사용하는 컨트롤러 파일이 저장됩니다.
앱/자산 – 여기에는 유형에 따라 폴더로 그룹화된 애플리케이션의 프런트엔드에 필요한 정적 파일이 포함되어 있습니다. – JavaScript 파일, 이미지, 스타일시트.
앱/도우미 – 이 하위 디렉토리에는 애플리케이션 모델, 뷰, 컨트롤러 논리를 집중적이고 작고 깔끔하게 만들어주는 도우미 함수가 들어 있습니다.
앱/모델 – 여기에는 파일이 포함되어 있습니다.
이는 애플리케이션의 데이터베이스를 모델링합니다. 모델 클래스를 사용하면 데이터베이스 작업이 매우 쉬워집니다.
앱/뷰 – 이 보류 템플릿/레이아웃 파일은 애플리케이션 사용자가 상호 작용합니다. 템플릿은 HTML과 데이터베이스 데이터의 조합입니다.
빈 – 여기에는 애플리케이션을 시작하는 Rails 스크립트가 포함됩니다. 애플리케이션을 설정하고 업그레이드하는 데 사용하는 다른 스크립트도 포함될 수 있습니다.
구성 – 여기에는 구성 파일이 들어 있습니다. 데이터베이스.yml, 환경.rb, 경로.rb, 등 애플리케이션을 실행해야 합니다.
DB – 이 디렉토리에는 애플리케이션 데이터베이스를 관리하는 데 사용되는 파일/스크립트가 포함되어 있습니다.
lib – 이 디렉터리에는 애플리케이션에 대한 확장 모듈이 포함되어 있습니다.
통나무 - 여기에는 로그 파일이 포함되어 있습니다. server.log, development.log, test.log 및 Production.log, 등은 애플리케이션을 디버깅하거나 모니터링하는 데 사용됩니다.
청중 - 이 디렉토리에는 HTML 파일과 같은 정적 파일과 컴파일된 자산이 포함되어 있습니다. Javascript 파일, 이미지, 스타일시트.
테스트 - 이 디렉터리에는 애플리케이션 기능을 테스트하기 위해 작성한 테스트 파일이 들어 있습니다.
임시 – 이 디렉터리에는 캐시 및 pid 파일과 같은 임시 파일이 포함되어 있습니다.
공급 업체 – 이 디렉토리에는 타사 라이브러리가 포함되어 있습니다.
보석파일 – 이 파일은 웹 애플리케이션을 실행하기 위한 기본 gem 요구사항을 지정합니다. gem을 개발, 테스트 또는 프로덕션으로 그룹화할 수 있으며 Rails는 각 gem을 언제 포함할지 알 수 있습니다.
Gemfile.lock – 애플리케이션에 원하는 gem을 명시적으로 나열하는 Gemfile과 달리 Gemfile.lock에는 Gemfile에 나열한 gem이 의존하는 다른 gem이 추가로 포함되어 있으며 종속성을 충족하기 위해 자동으로 설치됩니다.
읽어보기.md – 이 파일을 사용하여 앱의 기능, 애플리케이션 설치 및 실행 방법 등 애플리케이션에 대한 필수 세부 정보를 공유합니다.
레이크 파일 – 이 파일에는 애플리케이션의 일상적인 관리 작업을 자동화하는 데 도움이 되는 다양한 rake 작업 정의가 포함되어 있습니다.
config.ru – 이는 애플리케이션을 시작하기 위해 웹 서버에 대한 인터페이스를 제공하는 랙 구성 파일입니다.
디렉토리를 다음으로 변경하십시오. 'todo_app' Rails 디렉토리 생성 및 실행 '레일 서버' 응용 프로그램을 시작합니다. 유형 localhost : 3000 웹 브라우저의 주소 표시줄에 모든 것이 잘 되었다면 아래 그림이 보일 것입니다.
이것은 애플리케이션의 기본 홈페이지이며, 이 Ruby on Rails 튜토리얼의 후반 섹션에서 이를 변경할 것입니다. 서버를 중지하려면 다음을 누릅니다. 'Ctrl-C'.
Rails – 명령 생성
Rails generate 명령은 템플릿을 사용하여 애플리케이션에서 많은 유용한 것들을 만듭니다. 이러한 생성기를 사용하면 많은 시간을 절약할 수 있습니다.
웹 애플리케이션이 작동하는 데 필요한 상용구 코드를 작성하면 도움이 됩니다. 당신은 실행할 수 있습니다 '레일 생성' 아래에 표시된 대로 사용 가능한 생성기 목록을 보려면 명령 프롬프트나 터미널에서 다음을 실행합니다.
너는 또한 달릴 수 있는다. '레일은 "명령"을 생성합니다' 명령이 수행하는 작업에 대한 설명을 보려면 명령어와 사용 예시로 실행할 수 있는 편리한 옵션을 제공합니다. 아래 그림은 실행 결과를 보여줍니다.'레일은 컨트롤러를 생성합니다':
Rails generate scaffold 명령을 사용하여 구축 중인 할 일 목록 애플리케이션에 대한 모델, 보기 및 컨트롤러를 자동으로 생성합니다. 달리다' 레일은 스캐폴드 todo_list 제목을 생성합니다:문자열 설명: 텍스트' 터미널에서(아직 todo_app 디렉토리에 있는지 확인하세요)
그러면 TodoLists 테이블에 대한 전체 CRUD(생성, 읽기, 업데이트 및 삭제) 웹 인터페이스가 생성됩니다.
알아두면 유용한 또 다른 명령은 다음과 같습니다. '철도가 파괴된다' 뭐든 반전이네 '레일 생성…' 않습니다.
레일 – 라우팅
Rails 라우팅 시스템인 Rails 라우터는 웹 애플리케이션으로 들어오는 모든 요청을 처리합니다. 들어오는 요청의 URL을 검사한 다음 경로 파일에 지정된 특수 구문을 사용하여 각 요청을 처리를 담당하는 컨트롤러 작업에 매핑함으로써 이를 수행합니다(구성/경로.rb).
경로 파일은 웹 애플리케이션의 모든 URL 측면을 제어하는 데 도움이 됩니다. Rails는 기본적으로 REST 아키텍처 스타일을 기반으로 하는 RESTful 디자인을 사용하여 HTTP 동사와 요청(URL)을 컨트롤러 동작에 매핑합니다.
경로 파일은 다음을 실행할 때 생성되었습니다. '레일 새로운' 이 튜토리얼의 이전 섹션에서. 빌드 중인 Todo 애플리케이션을 계속 진행하면서 다음을 실행합니다.' 레일스 DB:마이그레이션' (곧 이것이 무엇인지 알게 될 것입니다)
명령줄에서 아직 애플리케이션의 루트(todo_app 디렉터리)에 있는지 확인하세요.
그런 다음 서버를 다시 시작하십시오. '레일 서버'. 유형 http://localhost:3000/todo_lists/
브라우저에서 Enter를 누르세요. 아래 Ruby on Rails 예제 그림과 같이 웹페이지가 다시 표시되어야 합니다.
이는 scaffold 명령이 생성한 Todo 목록 보기이며 TodoListsController의 인덱스 작업에 의해 제어됩니다.
페이지에서 '새 할 일 목록'을 클릭하여 할 일 목록을 추가하면 아래와 같은 페이지가 표시됩니다.
URL이 다음으로 변경되었는지 확인하세요. http://localhost:3000/todo_lists/new
. 이것은 새로운 할일 목록을 생성하는 페이지이며 TodoListsController의 새로운 메소드/액션에 의해 제어됩니다.
양식에 할 일 목록 제목과 설명을 입력하고 할 일 목록 만들기 버튼을 클릭하면 URL이 다음으로 변경됩니다. http://localhost:3000/todo_lists/1
아래 Ruby on Rails 코드 예제 그림에 나와 있습니다.
이것은 할일 목록의 표시 페이지이며 TodoListsController의 표시 메소드/작업에 의해 제어됩니다. 만약 당신이 다시 http://localhost:3000/todo_lists/
, 이제 새 할 일 목록이 추가된 아래 그림을 볼 수 있습니다.
Rails는 config/routes.rb의 경로 정의를 사용하여 다양한 요청(URL)을 해당 TodoListsController의 작업에 매핑할 수 있었습니다.
이 파일을 들여다보면 한 줄이 보입니다. '자원: 할일_목록'는 Rails가 Restful 경로를 작성하는 기본 방법입니다. 이 한 줄은 TodoLists 컨트롤러에 매핑되는 XNUMX개의 경로를 모두 생성합니다.
관례에 따라 각 컨트롤러의 작업은 데이터베이스의 특정 CRUD(생성, 읽기, 업데이트, 삭제) 작업에도 매핑됩니다.
당신은 실행할 수 있습니다 '레이크 루트' 애플리케이션에서 사용 가능한 다양한 경로를 보려면 명령줄에서 확인하세요. 아래 그림은 실행 결과를 보여줍니다. '철도 노선' 명령줄/터미널에서.
레일즈 – 뷰
뷰 계층은 MVC 패러다임의 구성 요소 중 하나이며 애플리케이션에 대한 각 요청에 대한 HTML 응답을 생성하는 역할을 합니다. Rails는 기본적으로 Ruby용 강력한 템플릿 시스템인 ERB(Embedded Ruby)를 사용합니다.
ERB는 변수 대체 및 흐름 제어를 위해 일반 텍스트와 Ruby 코드를 결합하여 템플릿 작성을 쉽고 유지 관리 가능하게 만듭니다. ERB 템플릿에는 .html, .erb 또는 .erb 확장자가 있습니다.
대부분은 두 개의 태그 표시자만 조합하여 사용하게 되며, 각 태그 표시자는 포함된 코드를 특정 방식으로 처리하고 처리하게 합니다.
등호가 있는 태그 '<%= %>' 포함된 코드가 표현식이고 코드 결과가 템플릿을 렌더링할 때 렌더러로 대체되어야 함을 나타냅니다.
등호가 없는 다른 태그 '<% %>' 템플릿을 렌더링할 때 코드 결과가 대체/인쇄되어서는 안 된다는 것을 렌더러에 나타냅니다.
Rails 애플리케이션의 각 컨트롤러에는 다음 위치에 해당 하위 디렉터리가 있습니다. 앱/뷰, 컨트롤러의 각 작업/메소드에는 이 디렉터리에 해당 .html 및 .erb 파일이 있습니다.
당신이 만들고 있는 todo 앱의 앱/뷰를 살펴보세요. 라는 하위 디렉터리를 찾을 수 있습니다. '할일_목록' 이 하위 디렉토리 내부 .html.erb 작업/메서드에 해당하는 이름을 가진 파일 할 일 목록 컨트롤러.
Rails - ActiveRecord, Active Record 패턴 및 ORM
ActiveRecord는 클래스가 테이블을 나타내고 클래스의 인스턴스가 해당 클래스의 행을 나타내는 간단한 패턴인 Active Record 패턴의 Ruby 구현입니다.
ActiveRecord는 가장 익숙한 언어를 사용하여 데이터베이스를 관리할 수 있는 기술인 ORM(객체 관계형 매핑)으로 널리 알려져 있습니다. 데이터베이스에 구애받지 않으므로 데이터베이스 간에 쉽게 전환할 수 있습니다(예: SQLite, MySQL, PostgreSQL, SQL 서버, Oracle, 등.). 이 제품군은 동일한 코드/로직을 사용하는 애플리케이션 요구 사항에 더 적합합니다.
따라서 애플리케이션의 모든 할일 목록 목록이 포함된 배열을 얻으려면 데이터베이스에 대한 연결을 시작하는 코드를 작성하는 대신 일종의 SQL SELECT 쿼리를 수행하고 해당 결과를 정렬.
그러려면 'TodoList.all'을 입력하면 됩니다. Active Record는 원하는 대로 사용할 수 있는 TodoList 개체로 채워진 배열을 제공합니다.
필요한 것은 올바른 구성을 설정하는 것뿐입니다. config / database.yml, Active Record는 다양한 데이터베이스 시스템 간의 모든 차이점을 해결합니다. 따라서 하나에서 다른 것으로 전환할 때 그것에 대해 생각할 필요가 없습니다.
당신은 당신의 애플리케이션에 대한 코드 작성에 집중하고, Active Record는 당신을 당신의 데이터베이스에 연결하는 저수준 세부 사항을 생각할 것입니다. Active Record는 명명 규칙을 사용하여 모델과 데이터베이스 테이블 간의 매핑을 만듭니다.
Rails는 모델 클래스 이름을 복수형으로 지정하여 해당 데이터베이스 테이블을 찾습니다. 따라서 TodoList 클래스의 경우 ActiveRecord는 TodoLists라는 데이터베이스 테이블을 생성합니다.
레일즈 - 마이그레이션
Rails 마이그레이션은 단순히 애플리케이션 데이터베이스를 편집하는 데 사용하는 스크립트입니다. 이는 데이터베이스를 설정하거나 변경하는 데 사용되며 이를 위해 SQL 코드를 수동으로 작성하는 것을 방지합니다.
Ruby를 사용하여 데이터베이스 스키마의 변경 사항을 정의하고 버전 제어를 사용하여 데이터베이스를 동기화된 상태로 유지할 수 있습니다.
Rails 마이그레이션은 Ruby DSL(도메인 특정 언어)을 사용합니다. 이는 추상화 역할을 하며 요구 사항에 따라 데이터베이스 엔진을 사용하거나 변경할 수 있게 해줍니다.
애플리케이션에서 작업하는 모든 사람과 공유할 수 있으며 데이터베이스 변경 사항을 취소하기 위해 롤백할 수도 있습니다. 이는 데이터베이스에 영구적인 손상을 줄 필요가 없기 때문에 매우 안전한 메커니즘입니다.
Rails – ActiveRecord 연결
두 ActiveRecord 모델 간의 연결을 연관이라고 합니다. 연관은 코드에서 다른 레코드에 대한 작업을 훨씬 더 쉽게 수행할 수 있게 해줍니다. 네 가지 범주로 나눌 수 있습니다. –
1-1: – 이는 레코드에 정확히 다른 모델의 인스턴스가 하나만 포함되어 있음을 나타냅니다. 좋은 예는 사용자 프로필입니다. 사용자에게는 프로필이 하나만 있습니다. 그것은 사용한다 _one개 있어요 예어.
일대 다: – 이것은 가장 일반적인 연관이며, 한 모델에 다른 모델의 인스턴스가 XNUMX개 이상 있음을 나타냅니다. 귀하의 사용 _many가 있습니다 이 연관성을 나타내는 키워드입니다.
다 대다: – 이 연결은 좀 더 복잡하며 ActiveRecord는 이를 처리하는 두 가지 방법을 제공합니다. 사용하여 has_and_belongs_to_many 그리고 많이있다, 그러면 별도의 테이블에 정의된 관계에 액세스할 수 있습니다.
다형성 일대다:- 이것은 Rails에서 사용할 수 있는 고급 연결입니다. 이를 사용하여 단일 연관의 다양한 모델에 속할 수 있는 모델을 정의할 수 있습니다.
Rails – ActiveRecord 검증
잘못된 데이터로 작업하는 것은 끔찍한 일이고 비용과 비즈니스 비용이 많이 들 수 있으므로 유효성 검사를 통해 올바른 데이터가 있는지 확인하는 데 도움이 됩니다.
또한 유효성 검사는 악의적인 사용자가 데이터베이스의 정보에 액세스하지 못하도록 애플리케이션에 추가 보안 계층을 제공합니다. Rails는 데이터베이스를 깨끗하고 안전하게 유지하며 오류가 없도록 ActiveRecord의 검증 도우미 API를 제공합니다.
ActiveRecord 유효성 검사는 데이터베이스에 저장하기 전에 모델 개체에 대해 실행되므로 더 안정적이고 애플리케이션 구축 시 따라야 할 모범 사례가 됩니다.
다음 ActiveRecord 메서드는 모델 객체에서 사용되거나 호출될 때 유효성 검사를 실행합니다. 만들고, 만들고!, 저장하고, 저장하고, 업데이트하고, 업데이트하세요!. 쾅하는 것 (생성!, 저장! 그리고 업데이트하세요!) 레코드가 유효하지 않은데 그렇지 않으면 예외가 발생합니다.
귀하가 사용할 수 있는 가장 일반적인 ActiveRecord 검증 도우미는 다음과 같습니다.
확인:– 이 유효성 검사 도우미는 두 필드에 동일한 항목이 있는지 확인하는 데 유용합니다. 예를 들어, 비밀번호 및 비밀번호 확인은 현재 상태 확인 도우미와 함께 사용됩니다.
존재:– 필드가 비어 있지 않은지 확인합니다.
고유성: 필드에 대한 고유한 값을 보장합니다(예: 사용자 이름)
길이:- 필드의 문자 길이에 제한을 적용하려면
유효성 검사 메서드를 사용하고 여기에 사용자 지정 유효성 검사 메서드의 이름을 전달하여 사용자 지정 유효성 검사를 만들 수도 있습니다.
모델명을 확인하실 수 있습니다. 오류 검증이 필요한 이유를 알아내기 위한 객체입니다. 데이터베이스에 안전한 데이터만 허용하도록 애플리케이션을 더욱 제한적이고 안전하게 만들 수 있는 몇 가지 아이디어가 있기를 바랍니다.
레일즈 - ActionController
Rails 컨트롤러는 웹 애플리케이션의 중심입니다. 이는 사용자, 모델 및 뷰 간의 통신을 촉진하고 조정합니다.
컨트롤러 클래스는 다른 모든 컨트롤러에서 실행될 수 있는 코드가 포함된 ApplicationController에서 상속되며 ActionController 클래스에서 상속됩니다.
컨트롤러는 애플리케이션에 다음을 제공합니다.
- 외부 요청을 내부 작업으로 라우팅합니다.
- 캐시를 관리하여 애플리케이션의 성능을 향상시킵니다.
- 뷰 템플릿 기능을 확장하는 도우미 메서드를 관리합니다. 또한 사용자 세션을 관리하여 앱 사용 시 원활한 경험을 제공합니다.
레일 – 구성
초기화 프로그램, 자산, 생성기, 미들웨어 등과 같은 다양한 구성 요소를 구성할 수 있습니다. config 디렉토리에 있는 Rails 애플리케이션 초기화 프로그램과 구성 파일을 사용합니다. config/application.rb, config/environments/development.rb, config/environments/test.rb 등과 같은 파일입니다. 애플리케이션에 대한 사용자 지정 설정을 구성할 수도 있습니다.
레일즈 – 디버깅
애플리케이션을 구축하다 보면 코드를 디버깅해야 하거나 디버깅해야 할 때가 올 것입니다. Rails에서는 byebug gem을 사용하여 이를 쉽게 수행할 수 있습니다. 애플리케이션 코드의 아무 곳에나 'byebeg' 키워드를 넣어 디버깅 세션을 시작할 수 있습니다.
그러면 해당 시점에서 실행이 일시적으로 중지됩니다. byebug gem은 사용할 수 있는 여러 명령을 제공합니다. 가장 유용한 것들은 다음과 같습니다:
- 다음 것: 현재 줄의 실행으로 호출된 모든 메서드를 건너뛰고 다음 코드 줄로 이동할 수 있게 해주는 명령입니다.
- 단계: 이것은 'next' 명령과 비슷하지만 호출된 각 명령으로 들어가게 합니다.
- 하다: 코드 실행을 중지합니다.
- 계속 실행 코드를 계속합니다.
'pry'와 같은 다른 디버깅 gem도 사용할 수 있으며 모두 유사한 기능을 제공하지만 구문은 약간 다릅니다. 디버깅 gem은 프로덕션 환경에서 사용하면 안 됩니다. 이는 애플리케이션에 위험을 초래하고 애플리케이션 사용자에게 나쁜 경험을 선사하기 때문입니다.
프로덕션 오류를 검사하고 처리할 수 있는 로그 파일이 있습니다. 또한 애플리케이션을 개발할 때 프로덕션에 배포하기 전에 모든 것이 제대로 작동하는지 확인하기 위해 TDD(테스트 중심 개발) 접근 방식을 따라야 합니다.
요약
- Ruby는 순수한 객체지향 프로그래밍 언어입니다.
- Ruby에는 읽고 쓰기 쉬운 우아한 구문이 있습니다.
- Rails는 웹 애플리케이션 구축을 위해 Ruby로 작성된 개발 프레임워크입니다.
- 설치 과정은 운영 체제에 따라 다릅니다.
- Rails는 Ruby gem으로 패키지되어 있으며 이를 사용하여 다양한 애플리케이션을 구축할 수 있습니다.
- 이 튜토리얼에서는 Todo 목록 애플리케이션을 생성하고 터미널에서 followincomm'n'n' 'rails netoda'p'p'p'를 실행하여 애플리케이션을 생성합니다.
- Rails generate 명령은 템플릿을 사용하여 애플리케이션에서 유용한 것들을 많이 생성합니다.
- Rails 라우팅 시스템인 Rails 라우터는 웹 애플리케이션으로 들어오는 모든 요청을 처리하는 데 도움이 됩니다.
- 뷰 계층은 MVC 패러다임의 구성 요소 중 하나이며 애플리케이션에 대한 각 요청에 대한 HTML 응답을 생성하는 역할을 합니다.
- ActiveRecord는 Active Record 패턴을 Ruby로 구현한 것입니다.
- Rails 마이그레이션은 단순히 애플리케이션 데이터베이스를 편집하는 데 사용하는 스크립트입니다.
- 두 ActiveRecord 모델 간의 연결을 연관이라고 합니다.
- 잘못된 데이터로 작업하는 것은 끔찍한 일이고 비용과 비즈니스 비용이 많이 들 수 있으므로 유효성 검사를 통해 올바른 데이터가 있는지 확인하는 데 도움이 됩니다.
- Rails 컨트롤러는 사용자, 모델 및 뷰 간의 통신을 촉진하고 조정하는 데 도움이 됩니다.
- Rail은 초기화 프로그램, 에셋, 생성기, 미들웨어 등 다양한 구성 요소를 구성하는 데 도움이 됩니다.