기본 Sinatra 응용 프로그램 만들기

7382 단어 showdevwebdevruby
우선, 시나트라와 함께 공부하고 건설하는 것이 여정이라는 것을 인정하고 싶습니다.시나트라는 도전이지만, 확실히 능력이 있다.SQL 데이터베이스가 Sinatra와 어떻게 함께 작업하는지 이해하는 데 어려움을 겪었지만 제 프로젝트를 이해하고 완성할 수 있다는 것이 자랑스럽습니다.이 한 해 동안 저는 개발자로 성장했고 이 글을 읽은 사람은 누구나 저에게 배울 것입니다.신나굴은 도대체 무엇입니까?Sinatra는 Ruby로 작성된 웹 응용 프로그램을 작성하는 데 사용되는 분야별 언어다.
나는 너를 데리고 나의 발전 과정을 겪을 것이다.나는 코드를 작성하기 전에 요르 디자인의 레이아웃을 그리는 것이 매우 중요하기 때문에, 색종이의 초도부터 시작한다.내가 자신에게 이 기본적인 문제를 묻는 것은 나의 창조력을 자극하기 위해서이다.당신은 무엇을 염두에 두고 있습니까?당신은 무엇을 사랑합니까?이어서 나는 두 개의 모델을 개발했다.나는 내가 새로 배운 Sinatra 웹 응용 기술로 상업 발표 사이트를 만들기로 결정했다.다음은 나의 두 모델과 그 개념을 설명할 것이다.

비즈니스 계획 모델


 class BizPlan < ActiveRecord::Base
    # association macro
    belongs_to :user
    # model validations
    validates :name, presence: true
    validates :name, length: { minimum: 3}
    validates :mission, presence: true
    validates :mission, length: { minimum: 3}
    validates :budget, presence: true
    validates :budget, length: { minimum: 3}
end
모든 모델 클래스에 대응하는 테이블을 만들었기 때문에Active Record에서 계승해야 합니다.이 코드에서, 나는 매크로를 사용하여 사용자와의 관계를 맺는다.나는 ActiveRecord를 통해 bcrypt를 사용한다.has secure password를 사용하여 BCrypt 암호를 설정하고 인증하는 방법을 추가했습니다.

사용자 모델


 class User < ActiveRecord::Base
    has_secure_password
    has_many :biz_plans
end
biz plans와 관계를 맺었고has secure password 추가 방법을 사용하여 BCrypt 암호를 설정하고 인증합니다.사용자가 계정을 만들 때, 유일한 로그인 속성을 가져야 합니다.로그인의 유일성을 확보하는 작업은 컨트롤러에 의해 이루어집니다.다음은 컨트롤러를 설정하여 권한 수여 검사를 하는 방법에 대한 내용을 읽습니다.

활성 레코드의 CRUD(생성, 읽기, 업데이트, 삭제) 작업을 사용합니다.


컨트롤러의 CRUD 작업은 보기와 eb 파일을 컨트롤러의 일부 작업에 연결합니다.CRUD actions는 sinatra activerecord gem과 함께 옵니다.컨트롤러에서 네 가지 독특한 조작을 위한 CRUD 루트 만들기;작성, 읽기, 업데이트 및 삭제Create CRUD 작업을 사용하면 레이크 작업을 사용하여 테이블을 생성하여 마이그레이션을 생성할 수 있습니다.컨트롤러에서 get'/biz plans/new'루트를 만들었습니다. 새로운 루트를 보여 줍니다.erb 보기.CRUD 작업을 읽으면 데이터베이스의 정보를 읽거나 표시할 수 있습니다.컨트롤러에서 "biz plan index"작업을 생성했습니다. 이것은 ERB 보기 인덱스를 보여야 합니다.erb, 모든 상업 계획의 목록을 표시합니다.CRUD 업데이트 작업을 사용하면 양식을 사용하여 데이터베이스의 정보를 업데이트할 수 있습니다.컨트롤러에서 보기 편집을 렌더링하기 위해route get'/biz plans/:id/edit'를 만들었습니다.고용인 재교육국.CRUD 작업을 삭제하면 양식을 사용하여 데이터베이스에서 정보를 삭제할 수 있습니다.컨트롤러에서 '/biz plans/:id' 를 삭제하는 루트를 만들었습니다. 단추를 만들고 정보를 폼에 보냅니다. 이 폼은 컨트롤러 삭제 작업에 요청을 보냅니다. 거기에서 삭제하고 삭제할biz 계획을 식별합니다.
Sinatra 응용 프로그램을 만들 때는 파일 구조가 중요합니다.나는 각막 보석으로 나의 프로젝트를 위해 파일 구조를 설정했다.다음 MVC 파일 구조를 분해합니다.내가 계속 구축할 때, 나는 응용 프로그램의 모든 파일에 서로 다른 책임이 있다는 것을 이해해야 한다. 우리는 이러한 책임을 합리적인 부분으로 나눌 것이다.

층계

  • terminal의gem를 사용하여 파일 구조를 만듭니다.이 옵션을 사용하거나 각 폴더를 수동으로 만들 수 있습니다.각막 이식은 단지 이 일을 처리하는 더욱 간단한 방법일 뿐이다.
    터미널에서 번들 설치를 실행하여 버전이 최신인지 확인하십시오. -gems
  • 설정
  • Rake 작업 설정, 폴더 설정, 환경 파일 설정은 매우 중요한 파일입니다. 데이터베이스에 연결할 준비가 되어 있는 곳입니다. 프로그램 폴더를 다른 필요한 파일과 연결합니다.
  • 구성 설정ru 파일
  • 마이그레이션 생성 - 사용자 테이블과biz plans 테이블을 만들고 이 두 테이블
  • 을 입력합니다.
  • 다른 마이그레이션 만들기
  • 사용자 클래스 만들기 - ActiveRecord::기본 클래스 계승 - 설정 검증
  • BizPlan 클래스 생성
  • 사용자 컨트롤러 생성 - 세션 및 검증
  • 비즈니스 계획 컨트롤러 만들기 - 리소스 업데이트, 삭제 및 보호
  • Restful 라우팅 만들기 - Restful 라우팅 설명 - 사용자 등록 및 비밀번호 보호
  • 설정 보기 - 양식 - 오류 메시지
    비즈니스 계획 및 사용자 만들기 - rake 콘솔 사용
  • 구축
  • 시 엽총 운행 및 테스트
  • GitHub 재구매 약속
  • CSS를 사용하여 스타일 추가
  • 모델, 뷰, 컨트롤러(MVC) 파일 구조


    코드의 조리를 유지하는 것은 응용 프로그램의 레이아웃과 절차에 매우 중요하다.MVC는 우리 조직을 돕는 데 쓰인다.MVC란?모델, 뷰, 컨트롤러
    컨트롤러 조작은 응용 프로그램 설정, 루트와 컨트롤러 조작을 실현하는 곳이다.컨트롤러 동작은 응용 프로그램 논리를 대표한다.MVC의 "C"는 응용 프로그램의 인터페이스와 프로세스를 충당합니다.MVC의 V는 뷰를 나타내고 브라우저에 표시될 코드를 저장합니다.응용 프로그램의 모델은 응용 프로그램의 데이터와 대상 논리를 나타낸다.일반적으로 모델에는 측정 단위로 사용되는 클래스가 포함되며 MVC에서는 "M"입니다.
    복잡한 응용 프로그램을 개발할 때 코드의 조직을 유지하는 것이 매우 중요하다.개발자로서 관심사와 단일 책임을 분리하는 중요성을 알게 되었습니다.
    ├── 응용 프로그램
    │ ├── 컨트롤러
    │ │ └── # 너의 컨트롤러
    │ ├── 모델
    │ │ └── # 너의 모델
    │ └── 소견
    │ │ └── # 너의 관점
    │ ├── 배치.erb#기본 html 템플릿

    ├── 배치하다.랙 구성
    ├── 데시벨
    │ ├── 발전하다.sqlite#Sqlite3 데이터베이스
    │ ├── 옮기다
    │ │ └── # 이사하다
    │ └── 패턴.rb
    ├── 프로비저닝
    │ └── 환경데시벨
    ├── Gemfile
    └── 써레#너의 써레임무
    웹 응용 프로그램을 구축할 때 관심사의 분리도 마찬가지로 중요하다.보기는 데이터베이스에서 직접 추출해서는 안 된다.이 모든 것은 컨트롤러 조작에서 처리해야 하며 데이터는 특정한 컨트롤러 조작을 통해erb 파일에 전달되어야 한다.
    프로젝트 요구 사항 - 다음을 사용하는 포괄적인 Sinatra 애플리케이션을 구축합니다.
  • sqlite 데이터베이스
  • ActiveRecord
  • 평온노선
  • 회 회의
  • 로그인/로그오프
  • 이것이 바로 내가 부여받은 임무이다. 그것은 보기에는 많을 것 같지만, 일단 완전히 기획되면, 모든 것이 어떻게 협동하여 일을 하는지 이해하기 쉽기 때문이다.응용 프로그램에서 컨트롤러의 보기와 노선에 대한 지식과 이해가 있으면 당신은 진정으로 사람을 놀라게 하는 것을 창조할 수 있습니다!
    휴식이란 무엇인가?
    RESTful 라우트는 HTTP 술어(get,post,put,delete,patch)를 컨트롤러 CRUD 작업(생성, 읽기, 업데이트, 삭제)에 매핑하는 라우트입니다.데이터를 처리하는 데 도움을 줍니다. 이를 따라 새로운 내용을 만들고 편집하며 삭제할 수 있습니다.
    HTTP 동사: "/biz plans"에 대한 라우트를 가져옵니다. 작업: 색인 작업, 로그인할 때만 모든biz plan을 표시할 수 있습니다.HTTP 동사: "/biz plans/new"라우트를 가져옵니다. 작업: new action, create biz plan form new biz plan을 표시하는 데 사용됩니다.HTTP 동사: GET routes to "/biz plans/:id/edit", action:edit action, URL의 id에 따라 편집 폼을 표시하는 데 사용합니다.HTTP 동사: "/biz plans/:id"에 대한 루트를 얻습니다. 작업: 표시 작업, id에 따라 비즈니스 계획을 표시하는 데 사용됩니다. HTTP 동사: "/biz plans"에 발표하는 루트, 작업: 만들기 작업, 비즈니스 계획 만들기 HTTP 동사 만들기: "/biz plans/:id"에 패치된 루트, 작업: 업데이트 작업, id에 따라 기존 비즈니스 계획을 업데이트하는 데 사용됩니다. HTTP 동사: "/biz plans/:id"에 삭제된 루트, 작업: 삭제 작업, 삭제 작업,ID를 기반으로 비즈니스 계획을 삭제할 수 있습니다.

    회화와 과자는 무엇입니까?


    세션과 쿠키가 협동하여 사용자가 정해진 시간에 사이트와 상호작용하는 정보를 저장한다.세션은 한 페이지에서 다른 페이지로 사용자의 신분을 기억하는 방법을 제공합니다.쿠키와 세션 데이터는 웹 응용 프로그램이 그와 상호작용하는 사용자를 이해하는 데 도움이 된다.쿠키는 로컬에 정보를 저장하고 이를 만든 서버에만 표시됩니다.서버의 웹 응용 프로그램이 클라이언트 쿠키를 읽을 때 쿠키를 기존 세션과 연결시키고 어떻게 계속할지 결정합니다.멋있죠?

    왜?


    이 프로젝트의 목표는 Sinatra 프레임워크와ActiveRecord,SQLite3을 결합하여 사용함으로써 기본적인 Sinatra 응용 프로그램을 구축하는 것이다.이 Sinatra 프로젝트는 나의 첫 번째 웹 응용 프로그램입니다. 데이터베이스로 완성합니다.

    엄마, 내가 웹 사이트를 만들었어!


    이 게시물이 당신에게 도움이 되었으면 합니다.여기에 제 코드를 보거나 비즈니스 기획 프로그램을 시험적으로 사용하고 싶지 않도록 Github 저장소 ((https://github.com/ameerrah9/BizUs 를 가리키는 링크를 추가했습니다.

    좋은 웹페이지 즐겨찾기