루비 온 레일즈 튜토리얼
⚡ 스마트 요약
Ruby on Rails 튜토리얼은 Airbnb, GitHub, Shopify 등을 구동하는 Ruby로 작성된 오픈 소스 웹 프레임워크를 소개합니다. 이 튜토리얼에서는 설치 방법을 다룹니다. WindowsMac 및 Linux 환경에서 Rails 제너레이터, 라우팅, 뷰, ActiveRecord, 유효성 검사 및 디버깅을 다룹니다.

루비는 무엇입니까?
루비 루비는 고급 인터프리터 방식의 객체 지향 프로그래밍 언어입니다. 활발한 오픈 소스 언어이며, 많은 커뮤니티의 지지를 받고 있습니다. 루비는 단순성과 생산성을 위해 설계되었으며, 사람이 먼저 읽고 컴퓨터는 나중에 읽는 방식을 장려합니다. 루비는 1995년 일본에서 유키히로 마츠모토에 의해 개발되었습니다.
레일즈란 무엇인가요?
울타리 Rails는 웹 애플리케이션 개발을 위한 Ruby 기반의 개발 프레임워크입니다. Basecamp 애플리케이션의 기반으로 개발되었으며, 2004년에 오픈 소스 소프트웨어로 공개되었습니다. Rails는 다양한 표준 기능과 특징을 내장하고 있어 MVP(최소 기능 제품) 프로토타입 개발에 적합합니다.ping 그리고 신속한 제품 개발.
Rails는 DHH로 널리 알려진 데이비드 하이네마이어 한손(David Heinemeier Hansson)이 개발했습니다. 웹 애플리케이션 개발에 있어 가장 영향력 있고 인기 있는 도구 중 하나이며, Airbnb, GitHub, Shopify와 같은 주요 웹사이트에서 사용되고 있습니다.
왜 레일인가?
툴체인을 설치하기 전에 Rails가 여전히 인기 있는 개발 플랫폼인 이유를 이해하는 것이 도움이 됩니다.ping 웹 애플리케이션을 빠르게 개발하세요.
- Rails는 Ruby gem으로 패키징되어 있으며, 이를 사용하여 매우 다양한 애플리케이션을 구축할 수 있습니다.
- 이 플랫폼을 사용하면 일반 웹 애플리케이션, 전자상거래 사이트, 콘텐츠 관리 시스템 등을 구축할 수 있습니다.
- Rails는 모델-뷰-컨트롤러(MVC) 패턴을 사용하여 데이터베이스 기반 웹 애플리케이션을 만드는 데 필요한 모든 것을 포함하는 풀스택 프레임워크입니다.
- 모든 계층이 서로 원활하게 작동하도록 설계되었기 때문에 Rails 프로젝트는 일반적으로 다른 프레임워크의 동일한 프로젝트보다 코드 라인 수가 적습니다.
Ruby를 다운로드하고 설치하는 방법 Windows
설치 과정은 운영 체제에 따라 다릅니다. 다음 섹션에서는 운영 체제에 Ruby를 설치하는 방법을 설명합니다. Windows, Mac 및 Linux.
단계 1) Rubyinstaller를 다운로드하세요.
Ruby를 설치하는 가장 쉬운 방법 Windows 컴퓨터는 Ruby Installer를 통해 설치되며, 해당 프로그램은 다음에서 이용 가능합니다. https://rubyinstaller.org/.
다운로드 후 설치 프로그램을 실행하세요.
단계 2) 다운로드한 설치 프로그램을 클릭하세요.
Double예를 들어, 다운로드한 설치 파일(예: [설치 파일])을 클릭합니다. rubyinstaller-2.4.1-2-x64.exe.
단계 3) 라이선스에 동의하세요.
"라이선스에 동의합니다" 라디오 버튼을 선택하고 "다음" 버튼을 클릭하십시오. 아래와 같은 화면이 나타납니다.
단계 4) 첫 번째와 두 번째 체크박스를 선택하세요.
Ruby 스크립트 실행을 더 쉽게 하려면 처음 두 개의 확인란을 선택하세요.
"설치" 버튼을 클릭하여 설치를 시작하세요. 설치가 완료되면 아래 화면이 나타납니다.
단계 5) Finish를 클릭하십시오.
MSYS2 설치 옵션을 선택 해제하지 마십시오. "마침"을 클릭하여 설치를 완료하십시오. 아래 그림과 같이 명령 프롬프트 창이 열립니다.
단계 6) MSYS2를 설치하세요.
이 단계에서는 MSYS2를 설치합니다. MSYS2는 패키지 관리자가 포함되어 있어 패키지를 쉽게 설치할 수 있는 빌드 플랫폼입니다. Windows.
모든 구성 요소를 설치하려면 Enter 키를 누르십시오. 이 구성 요소들은 모두 원활한 Ruby on Rails 개발 환경을 위해 필요합니다. Windows.
레일 설치
이전 섹션에서 Ruby가 설치되어 있어야 합니다. 다음으로 Rails를 설치하세요. Rails는 패키지를 사용하여 설치할 수 있습니다. 레일스 인스톨러하지만 해당 패키지에는 필요한 모든 종속성의 최신 버전이 포함되어 있지 않은 경우가 많습니다.
이미 최신 Ruby와 기본 RubyGems 및 확장 프로그램이 설치되어 있는 경우, 명령 프롬프트에서 다음 명령을 실행하여 시스템에 Rails를 설치하십시오. gem install rails.
당신은 또한 설치해야합니다 Node.js를 만약 아직 설치하지 않았다면, Rails가 의존하는 일부 라이브러리가 필요하기 때문에 설치해야 합니다. Java스크립트 런타임이 올바르게 작동하려면 Node를 다운로드하세요. https://nodejs.org.
보다 일반적이고 선호되는 접근 방식은 다음과 같습니다. Windows 사용하는 것입니다 Windows 리눅스용 서브시스템. 명령줄 도구, 유틸리티 및 일반 응용 프로그램을 직접 포함하는 GNU/리눅스 환경을 제공합니다. Windows.
맥에 루비 설치하기
맥에는 이미 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 apt update - 이렇게 하면 기본값이 업데이트됩니다. Ubuntu 리포지토리.
- sudo apt install ruby-full - 이 명령은 최신 Ruby를 다운로드하고 설치합니다.
설치를 확인하려면 다음 명령을 실행하세요. 루비 버전이 명령은 설치된 Ruby 버전을 출력합니다.
레일 설치 Ubuntu (Linux)
아래 단계를 따라 Linux 시스템에 Rails를 설치하세요.
단계 1) 다음 명령을 실행하여 젬 관리자를 업데이트하세요. gem 업데이트 -시스템 터미널 또는 명령 프롬프트에서.
단계 2) 달리기 젬 설치 레일 컴퓨터에 최신 버전의 Rails를 설치하려면
단계 3) Rails 애플리케이션의 gem 의존성 관리를 쉽게 하려면 bundler gem을 설치하세요. 실행하세요. 보석 설치 bundler.
Rails의 두 가지 원칙
Rails는 기본적인 소프트웨어 설계 원칙을 따르며, 개발자 또한 이러한 원칙을 활용하도록 권장합니다.
가장 일반적인 두 가지는 다음과 같습니다.
- 자신을 반복하지 마십시오 (DRY) 이는 간결하고 일관성 있으며 유지보수하기 쉬운 코드로 이어집니다.
- 구성보다 관례 Rails는 대부분의 일반적인 사용 사례에 맞는 합리적인 기본 설정으로 사전 구성되어 있습니다. 덕분에 애플리케이션 개발 속도가 빨라지고 유지 관리해야 할 코드 양이 줄어듭니다.
Rails – 프로젝트 파일 구조
시스템에 Rails가 설치되어 있으면 Rails 애플리케이션을 생성하세요. 다음 섹션에서는 Ruby on Rails를 사용하여 할 일 목록 애플리케이션을 만드는 예제를 살펴봅니다. 터미널에서 다음 명령어를 실행하여 애플리케이션을 생성하세요.
rails new todo_app
이 명령은 이름이 지정된 디렉토리를 만듭니다. 할 일 앱 현재 디렉터리에는 아래와 같이 Rails 웹 애플리케이션의 기본 폴더 구조가 있습니다.
다음은 프로젝트에서 생성된 주요 디렉토리입니다.
앱 - UI/레이아웃(뷰 및 헬퍼), 컨트롤러(컨트롤러 파일), 모델(비즈니스/애플리케이션 로직)에 대한 하위 디렉터리를 그룹화합니다.
앱/컨트롤러 – Rails가 클라이언트의 요청을 처리하는 데 사용하는 컨트롤러 파일을 저장합니다.
앱/자산 – 애플리케이션 프런트엔드에 필요한 정적 파일들이 유형별로 그룹화되어 있습니다. JavaScript 파일, 이미지, 스타일시트.
앱/도우미 이 패키지에는 애플리케이션 모델, 뷰 및 컨트롤러 로직을 간결하고 명확하게 유지하는 데 도움이 되는 헬퍼 함수가 포함되어 있습니다.
앱/모델 이 폴더에는 애플리케이션의 데이터베이스를 모델링하는 파일이 포함되어 있습니다. 모델 클래스를 사용하면 데이터베이스 작업을 매우 쉽게 할 수 있습니다.
앱/뷰 - 사용자가 애플리케이션과 상호 작용하는 템플릿/레이아웃 파일을 저장합니다. 템플릿은 HTML과 데이터베이스의 데이터를 결합합니다.
큰 상자 - 애플리케이션을 시작하는 Rails 스크립트를 포함합니다. 또한 애플리케이션 설정 및 업그레이드에 사용하는 다른 스크립트도 포함할 수 있습니다.
설정 – 다음과 같은 구성 파일을 포함합니다. 데이터베이스.yml, 환경.rb, 경로.rb애플리케이션 실행에 필요한 기타 요소들입니다.
db – 애플리케이션 데이터베이스 관리에 사용되는 파일과 스크립트가 포함되어 있습니다.
lib – 애플리케이션용 확장 모듈이 포함되어 있습니다.
기록 – 로그 파일 등이 포함되어 있습니다. server.log, development.log, test.log 및 Production.log디버깅이나 애플리케이션 모니터링에 사용됩니다.
공개 - HTML 파일과 같은 정적 파일 및 컴파일된 자산을 포함합니다. Java스크립트 파일, 이미지 및 스타일시트.
test - 애플리케이션 기능 테스트를 위해 작성한 테스트 파일이 포함되어 있습니다.
tmp를 – 캐시 및 PID 파일과 같은 임시 파일을 포함합니다.
공급 업체 – 타사 라이브러리를 포함합니다.
젬파일 - 웹 애플리케이션 실행에 필요한 기본 gem 요구 사항을 지정합니다. gem을 개발, 테스트 또는 프로덕션 환경으로 그룹화할 수 있으며, Rails는 각 gem을 언제 포함해야 하는지 자동으로 판단합니다.
젬파일.록 Gemfile은 애플리케이션에 필요한 gem들을 명시적으로 나열하는 반면, Gemfile.lock에는 Gemfile에 나열된 gem들이 의존하는 다른 gem들도 포함되어 있습니다. 이러한 gem들은 종속성을 충족하기 위해 자동으로 설치됩니다.
읽어보기.md 이 파일을 사용하여 앱의 기능, 설치 및 실행 방법 등 앱에 대한 필수 정보를 공유하세요.
레이크 파일 - 이 파일에는 애플리케이션의 일상적인 관리 작업을 자동화하는 데 도움이 되는 다양한 Rake 작업 정의가 포함되어 있습니다.
config.ru - 웹 서버가 애플리케이션을 시작할 수 있도록 인터페이스를 제공하는 Rack 구성 파일입니다.
디렉토리를 변경하세요 할 일 앱 Rails 디렉토리 생성 및 실행 레일즈 서버 응용 프로그램을 시작합니다. 유형 localhost : 3000 웹 브라우저의 주소 표시줄에 다음 주소를 입력하세요. 모든 과정이 정상적으로 진행되었다면 아래 화면이 나타날 것입니다.
이것은 애플리케이션의 기본 홈페이지입니다. 이 Ruby on Rails 튜토리얼의 뒷부분에서 홈페이지를 변경하게 될 것입니다. 서버를 중지하려면 키를 누르세요. Ctrl + C.
Rails - 명령어 생성
Rails의 `generate` 명령어는 템플릿을 사용하여 애플리케이션에서 유용한 여러 요소를 생성합니다. 이러한 생성기는 시간을 크게 절약해 줍니다.
웹 애플리케이션이 작동하는 데 필요한 상용구 코드를 작성합니다. 실행하세요. 레일 생성 명령 프롬프트나 터미널에서 해당 명령어를 단독으로 입력하면 아래와 같이 사용 가능한 생성기 목록을 볼 수 있습니다.
너는 또한 달릴 수 있는다. 레일 생성 명령어가 수행하는 작업에 대한 설명을 보려면 클릭하세요. 편리한 옵션과 사용 예시가 나열되어 있습니다. 아래 그림은 실행 결과 출력입니다. 레일즈 컨트롤러 생성.
`rails generate scaffold` 명령어를 사용하여 개발 중인 할 일 목록 애플리케이션의 모델, 뷰, 컨트롤러를 자동으로 생성하세요. 터미널에서 다음 명령어를 실행하세요(아직 `rails` 환경인지 확인하세요). 할 일 앱 예배 규칙서):
rails generate scaffold todo_list title:string description:text
이렇게 하면 TodoLists 테이블에 대한 완전한 CRUD(생성, 읽기, 업데이트, 삭제) 웹 인터페이스가 생성됩니다.
알아두면 유용한 또 다른 명령은 다음과 같습니다. 레일이 파괴하다그것은 무엇이든 뒤집습니다. 레일 생성 않습니다.
레일 – 라우팅
Rails 라우팅 시스템(Rails 라우터라고 함)은 웹 애플리케이션으로 들어오는 모든 요청을 처리합니다. 라우터는 요청을 검사하고, URL 각 요청을 처리하고, routes 파일에 지정된 구문을 사용하여 해당 요청을 담당하는 컨트롤러 액션에 매핑합니다.구성/경로.rb).
routes 파일은 모든 것을 제어합니다. URL 웹 애플리케이션의 한 측면입니다. Rails는 REST 아키텍처 스타일을 기반으로 하는 RESTful 디자인을 사용하며, 이는 맵을 제공합니다.ping HTTP 동사와 요청 사이의 관계 URL컨트롤러 동작에 대한 s.
경로 파일은 다음을 실행할 때 생성되었습니다. 레일 새것 앞서 설명한 내용을 이어서, 개발 중인 할 일 관리 애플리케이션을 계속 진행하려면 다음 명령어를 실행하세요.
rails db:migrate
애플리케이션의 루트 디렉토리(루트)에 있는지 확인하십시오. 할 일 앱 예배 규칙서).
서버를 다시 시작하세요 레일즈 서버. 유형 http://localhost:3000/todo_lists/ 브라우저에서 해당 명령어를 입력하고 Enter 키를 누르세요. 그러면 아래와 같은 웹페이지가 나타날 것입니다.
이것은 scaffold 명령이 생성한 할 일 목록 보기이며, TodoListsController에 의해 제어됩니다. 색인 액션.
페이지에서 "새 할 일 목록"을 클릭하여 할 일 목록을 추가하세요. 아래와 같은 화면이 나타날 것입니다.
공지 사항 URL 지금 http://localhost:3000/todo_lists/new이 페이지는 새로운 할 일 목록을 만드는 페이지이며, TodoListsController에 의해 제어됩니다. 방법.
할 일 목록의 제목과 설명을 양식에 입력하고 "할 일 목록 만들기"를 클릭하세요. URL 변경해야 http://localhost:3000/todo_lists/1, 아래 그림과 같이.
이 페이지는 TodoListsController에 의해 제어되는 할 일 목록의 표시 페이지입니다. 표시 방법. 만약 다시 돌아가면 http://localhost:3000/todo_lists/이제 아래와 같이 새 할 일 목록이 추가된 화면이 표시될 것입니다.
Rails는 라우트 정의를 사용하여 각 요청을 해당 TodoListsController 액션에 매핑할 수 있었습니다. 구성/경로.rb.
이 파일을 살펴보면 한 줄짜리 코드가 보일 겁니다. 리소스 :할 일 목록이는 Rails에서 RESTful 라우트를 작성하는 기본 방식입니다. 이 한 줄의 코드는 모두 맵을 사용하는 7개의 라우트를 생성합니다.ping TodoLists 컨트롤러로 이동합니다.
관례적으로 각 컨트롤러 액션은 데이터베이스의 특정 CRUD(생성, 읽기, 업데이트, 삭제) 작업에 매핑됩니다.
달리기 철도 노선 명령줄에서 애플리케이션에서 사용 가능한 다양한 경로를 확인할 수 있습니다. 아래 그림은 실행 결과의 출력입니다. 철도 노선.
Rails - 뷰
뷰 레이어는 MVC 패러다임의 구성 요소 중 하나이며, 애플리케이션에 대한 각 요청에 대한 HTML 응답을 생성하는 역할을 합니다. Rails는 기본적으로 Ruby용 강력한 템플릿 시스템인 ERB(Embedded Ruby)를 사용합니다.
ERB는 일반 텍스트와 변수 치환 및 흐름 제어를 위한 Ruby 코드를 결합하여 템플릿을 쉽게 작성하고 유지 관리할 수 있도록 합니다. ERB 템플릿은 다음을 사용합니다. .html.erb 확대.
일반적으로 두 개의 태그 마커를 사용하게 되는데, 각각의 마커는 내장된 코드가 특정 방식으로 처리되도록 합니다.
등호가 포함된 태그 <%= %> 이는 내장된 코드가 표현식이며, 템플릿이 렌더링될 때 해당 코드의 결과가 출력에 대입되어야 함을 나타냅니다.
등호가 없는 다른 태그 <% %> 렌더링 프로그램에게 코드의 결과가 출력에 대체되거나 인쇄되지 않아야 함을 나타냅니다.
Rails 애플리케이션의 각 컨트롤러에는 다음 위치에 해당 하위 디렉터리가 있습니다. 앱/뷰컨트롤러의 각 액션에는 대응하는 동작이 있습니다. .html.erb 해당 하위 디렉터리에 있는 파일입니다.
살펴 앱/뷰 개발 중인 Todo 앱의 하위 디렉토리를 찾을 수 있을 것입니다. 할 일 목록 포함 .html.erb 해당 작업에 대응하는 이름의 파일 할 일 목록 컨트롤러.
Rails - ActiveRecord, Active Record 패턴 및 ORM
ActiveRecord는 Active Record 패턴의 Ruby 구현체입니다. 이 패턴에서 클래스는 데이터베이스 테이블을 나타내고, 클래스의 인스턴스는 해당 테이블의 행을 나타냅니다.
ActiveRecord는 일반적으로 ORM(객체 관계형 맵)이라고 불립니다.ping) 레이어는 사용자가 가장 익숙한 언어를 사용하여 데이터베이스를 관리할 수 있도록 하는 기술입니다. 데이터베이스에 구애받지 않으므로 데이터베이스 간에 쉽게 전환할 수 있습니다. 예를 들어, SQLite, MySQL, PostgreSQLSQL Server 또는 Oracle — 동일한 코드와 논리를 사용합니다.
예를 들어, 애플리케이션에 있는 모든 할 일 목록이 담긴 배열을 얻으려면 연결을 열고 SQL SELECT 쿼리를 실행한 다음 결과를 변환하는 코드를 작성할 필요가 없습니다.
그냥 입력하면 됩니다 TodoList.allActiveRecord는 원하는 대로 사용할 수 있는 TodoList 객체로 채워진 배열을 반환합니다.
설정만 하면 됩니다. config / database.ymlActiveRecord는 데이터베이스 시스템 간의 차이점을 처리합니다. 따라서 한 데이터베이스에서 다른 데이터베이스로 전환할 때 코드를 다시 작성할 필요가 없습니다.
사용자는 애플리케이션 로직에 집중하고, ActiveRecord는 데이터베이스 연결과 관련된 세부적인 작업을 처리합니다. ActiveRecord는 명명 규칙을 사용하여 모델을 데이터베이스 테이블에 매핑합니다.
Rails는 해당 데이터베이스 테이블을 찾기 위해 모델 클래스 이름을 복수형으로 변환합니다. 따라서 클래스의 경우... 할 일 목록ActiveRecord는 라는 데이터베이스 테이블을 사용합니다. 할 일 목록.
레일즈 - 마이그레이션
Rails 마이그레이션은 애플리케이션 데이터베이스를 발전시키는 데 사용하는 스크립트입니다. SQL 쿼리를 직접 작성하지 않고 데이터베이스를 설정하거나 변경하는 데 사용됩니다.
이 라이브러리는 Ruby를 사용하여 데이터베이스 스키마 변경 사항을 정의하고, 버전 관리를 통해 여러 환경에서 데이터베이스를 동기화 상태로 유지할 수 있도록 합니다.
Rails 마이그레이션은 Ruby 도메인 특화 언어(DSL)를 사용합니다. 이는 절대적인 역할을 합니다.trac이를 통해 사용자의 요구 사항에 따라 데이터베이스 엔진을 사용하거나 변경할 수 있습니다.
마이그레이션은 애플리케이션 개발에 참여하는 모든 사람과 공유할 수 있으며, 변경 사항을 되돌리기 위해 롤백도 가능합니다. 이는 강력한 안전 장치이므로 데이터베이스에 영구적인 손상을 입힐 염려가 없습니다.
Rails – ActiveRecord 연결
두 ActiveRecord 모델 간의 연결을 연관 관계라고 합니다. 연관 관계를 사용하면 코드에서 관련된 레코드에 대한 작업을 훨씬 쉽게 수행할 수 있습니다. 일반적인 연관 관계 유형은 네 가지가 있습니다.
일대일: 레코드에는 다른 모델의 인스턴스가 정확히 하나만 포함됩니다. 좋은 예는 사용자 프로필입니다. 사용자는 프로필을 하나만 가질 수 있습니다. 이 프로필은 다른 모델의 인스턴스를 사용합니다. 하나 가지고 있다 예어.
일대다: 가장 일반적인 연관성은 한 모델이 다른 모델의 인스턴스를 0개 이상 가지는 것입니다. 다다 이 연관성을 나타내는 키워드입니다.
다대다: 조금 더 복잡합니다. ActiveRecord는 이를 처리하는 두 가지 방법을 제공합니다. has_and_belongs_to_many has_many :through이를 통해 별도의 테이블에 정의된 조인 모델에 접근할 수 있습니다.
다형성 일대다: Rails에서 좀 더 고급 개념의 연관 관계입니다. 하나의 모델이 여러 다른 모델에 속할 수 있도록 정의합니다.
Rails – ActiveRecord 검증
데이터 유효성 검사는 정확한 데이터를 확보하는 데 도움이 됩니다. 잘못된 데이터를 사용하는 것은 위험하며 사업에 금전적 손실을 초래할 수 있기 때문입니다.
유효성 검사는 악의적인 사용자가 데이터베이스에 유해한 데이터를 삽입하려는 시도를 차단하는 추가적인 보안 계층을 제공합니다. Rails는 ActiveRecord에서 데이터베이스를 깨끗하고 안전하며 오류 없이 유지할 수 있도록 깔끔한 유효성 검사 헬퍼 API를 제공합니다.
ActiveRecord의 유효성 검사는 데이터베이스에 저장하기 전에 모델 객체에 대해 실행되므로 더욱 안정적이며 모범 사례를 따릅니다.
다음 ActiveRecord 메서드는 모델 객체에서 호출될 때 유효성 검사를 트리거합니다. 만들고, 만들고!, 저장하고, 저장하고, 업데이트하고, 업데이트하세요!. 뱅 버전(생성!, 저장!, 그리고 업데이트!) 레코드가 유효하지 않으면 예외를 발생시키고, 느낌표가 없는 버전은 대신 false를 반환합니다.
가장 일반적인 ActiveRecord 유효성 검사 도우미는 다음과 같습니다.
- 확인: 두 필드의 값이 동일한지 확인합니다. 예를 들어 비밀번호와 비밀번호 확인 값을 확인합니다. 이 기능은 존재 여부 유효성 검사 도우미와 함께 사용됩니다.
- 존재: 해당 필드가 비어 있지 않은지 확인합니다.
- 독창성 : 예를 들어 사용자 이름과 같은 필드에 고유한 값이 있는지 확인합니다.
- 길이 필드의 문자 길이에 제한을 적용합니다.
또한 다음을 사용하여 사용자 지정 유효성 검사를 직접 만들 수도 있습니다. 확인 해당 메서드에 사용자 지정 유효성 검사 메서드의 이름을 전달합니다.
모델을 확인하세요 오류 유효성 검사가 실패한 이유를 파악하는 데 필요한 모든 정보를 제공합니다. 이를 통해 유효한 데이터만 데이터베이스에 저장되도록 하여 애플리케이션을 더욱 제한적이고 안전하게 만들 수 있습니다.
레일즈 - ActionController
Rails 컨트롤러는 웹 애플리케이션의 중심입니다. 이는 사용자, 모델 및 뷰 간의 통신을 촉진하고 조정합니다.
컨트롤러 클래스는 다음을 상속받습니다. 애플리케이션 컨트롤러이 컨트롤러에는 다른 모든 컨트롤러에서 실행될 수 있는 코드가 포함되어 있으며, 이 컨트롤러는 다시 다음으로부터 상속받습니다. ActionController::Base.
컨트롤러는 애플리케이션에 다음을 제공합니다.
- 외부 요청을 내부 작업으로 전달합니다.
- 캐싱을 관리하여 애플리케이션 성능을 향상시켜 줍니다.
- 이 라이브러리는 뷰 템플릿 기능을 확장하는 헬퍼 메서드를 관리하고 사용자 세션을 관리하여 사용자에게 원활한 경험을 제공합니다.
레일 – 구성
Rails 애플리케이션의 초기화 파일과 설정 파일을 사용하여 초기화 프로그램, 자산, 생성기 및 미들웨어와 같은 구성 요소를 설정할 수 있습니다. 설정 디렉토리. 다음과 같은 파일들 config/application.rb, config/environments/development.rb예산 및 config/environments/test.rb 여기에 사용된 설정입니다. 애플리케이션에 대한 사용자 지정 설정을 추가할 수도 있습니다.
레일즈 – 디버깅
애플리케이션을 개발하다 보면 코드 디버깅이 필요하게 됩니다. Rails는 다음과 같은 기능을 통해 디버깅을 간편하게 해줍니다. 바이버그 gem입니다. 키워드를 입력하여 디버깅 세션을 시작할 수 있습니다. 바이버그 애플리케이션 코드의 어느 곳에서든 가능합니다.
이렇게 하면 해당 지점에서 실행이 일시적으로 중단됩니다. byebug gem은 여러 명령어를 제공하는데, 가장 유용한 명령어는 다음과 같습니다.
- 다음: 다음 코드 줄로 이동, 건너뛰기ping 현재 줄에서 호출된 모든 메서드.
- 단계 : 와 유사한 다음 것하지만 호출된 각 메서드 내부로 단계적으로 들어갑니다.
- 부서지다: 코드 실행을 중지합니다.
- 잇다: 코드 실행이 계속됩니다.
다음과 같은 다른 디버깅 도구도 사용할 수 있습니다. 캐내다이러한 젬들은 모두 약간씩 다른 구문을 사용하지만 유사한 기능을 제공합니다. 디버깅 젬은 애플리케이션에 위험을 초래하고 사용자에게 부정적인 경험을 줄 수 있으므로 프로덕션 환경에서 사용해서는 안 됩니다.
로그 파일을 검사하여 프로덕션 환경에서 오류를 확인하고 적절하게 처리할 수 있습니다. 또한, 애플리케이션을 개발할 때는 테스트 주도 개발(TDD) 방식을 따라야 프로덕션 환경에 배포하기 전에 모든 기능이 제대로 작동하는지 확인할 수 있습니다.













