새 응용 프로그램 작성 워크플로우
개시하다
최소한의 동작을 하는 새로운 응용 프로그램 제작의 작업 절차를 총괄하고 싶습니다.
새 응용 프로그램을 만들 때의 작업
대략적인 업무는 아래와 같다.
대략적인 업무는 아래와 같다.
새 애플리케이션의 토대 구축
새 응용 프로그램 만들기
기초적인 골격을 만들다.
터미널에서 다음 명령을 실행합니다.rails new fruitapp
fritapp는 새 프로그램의 이름입니다.
Rails의 버전 또는 데이터베이스 유형을 지정하려면 여기서 지정합니다.
Rails 버전 4.0.5 및 데이터베이스가 MySQL인 경우 다음 명령을 실행합니다.rails _4.0.5_ new fruitapp -d mysql
데이터베이스 만들기
터미널에서 다음 명령을 실행합니다.rake db:create
HTTP 서버 시작
Rails에는 HTTP 서버를 사용할 수 있는 WEBrick이라는 프로그램 라이브러리가 있습니다.
WEBrick 서버를 시작하려면 애플리케이션 경로 아래에서 다음 명령을 실행합니다.rails s
'rails'다음의's'는'server'의 생략입니다.
'rails 서버'도 같은 결과다.
서버를 중지하려면 터미널에서 "control + C"를 입력하십시오.
어플리케이션 액세스
WEBrick을 시작하면 브라우저에 다음 URL을 입력하여 액세스할 수 있습니다.
http://localhost:3000/
기본 Rails 페이지가 표시되면 제대로 작동합니다.
이로써 새로운 응용 프로그램의 기초 제작이 끝났다.
모형의 준비
모델 클래스 생성하기
데이터베이스에 접근하는 모델 클래스를 만듭니다.
터미널에서 다음 명령을 실행합니다.rails g model fruit name:string
'fruit'부분은 모델명이다.
"name:string"은 필드 이름과 데이터 형식을 정의합니다.
명령을 실행하면 다음 파일을 만들 수 있습니다.
rails new fruitapp
rails _4.0.5_ new fruitapp -d mysql
rake db:create
rails s
모델 클래스 생성하기
데이터베이스에 접근하는 모델 클래스를 만듭니다.
터미널에서 다음 명령을 실행합니다.
rails g model fruit name:string
'fruit'부분은 모델명이다."name:string"은 필드 이름과 데이터 형식을 정의합니다.
명령을 실행하면 다음 파일을 만들 수 있습니다.
rails에서는 표를 작성하거나 업데이트할 때 이 메커니즘을 사용해야 한다.
"rails g model fruit name:string"명령에 따라 "db/migrate"폴더에 생성
마이그레이션 파일을 사용합니다.
마이그레이션 파일 구조
생성된 마이그레이션 파일은 다음과 같습니다.
20190810224816_create_fruits.rb
class CreateFruits < ActiveRecord::Migration[5.2]
def change
create_table :fruits do |t|
t.string :name
t.timestamps
end
end
end
"creat table:fruits"는 만들 표의 이름을 정의합니다."t.string:name"은 데이터 형식과 열 이름을 정의합니다.
이전 파일을 다시 쓰면 만들 표를 수정할 수 있습니다.
20190810224816_create_fruits.rb
class CreateFruits < ActiveRecord::Migration[5.2]
def change
create_table :fruits do |t|
t.string :name
t.integer :price # 追加
t.timestamps
end
end
end
마이그레이션 수행
터미널에서 다음 명령을 실행합니다.
rake db:migrate
명령을 실행하면 마이그레이션 파일에 따라 테이블이 작성됩니다.id
name
price
create_at
update_at
※ 아직 기록되지 않았습니다
여기까지 모형 준비 끝났습니다.
컨트롤러 준비
컨트롤러 클래스 생성
터미널에서 다음 명령을 실행합니다.rails g controller fruits
'rails'다음의'g'는'generate'의 생략이다.
'rails generate controller frits'결과도 같았다.
또한 "frits"섹션은 컨트롤러 이름입니다.
실행 후,frits frutrollers 폴더를 app/controllers로 이동합니다controller.rb 파일을 만듭니다.
fruits_controller.rbclass FruitsController < ApplicationController
end
컨트롤러 클래스에서 동작 정의하기
동작은 고객의 요청에 대한 집행의 방법이다.
컨트롤러는 여러 동작을 정의할 수 있습니다.
컨트롤러에서 index 동작을 정의할 때 다음과 같습니다.
fruits_controller.rbclass FruitsController < ApplicationController
def index
end
end
이제 디렉터 준비가 완료되었습니다.
라우팅 정의
루트는 고객의 요청에 따라 호출되는 컨트롤러와 동작을 결정합니다.
라우트는/config/routes.rb 파일에 정의됩니다.
routes.rbRails.application.routes.draw do
get 'fruits' => 'fruits#index'
end
상기 상황에서 "/frits"의 끝에 대한 요청을 정의하고fritss 컨트롤러의 index 동작을 호출합니다.
뷰 준비
뷰 베이스
보기는 고객에게 반환되는 ERB 템플릿입니다.
템플릿에는 HTML에 Ruby가 포함된 코드가 기술되어 있습니다.
index.html.erb<h1>テスト</h1>
템플릿은 "/app/views"폴더에 파일 이름으로 저장됩니다. 이름은 "컨트롤러 이름/동작 이름.].erb"입니다.
이번에는 apples 컨트롤러에 대응하는 index 동작의 템플릿이기 때문에 구성은
“/app/views/fruits/index.erb”.
여기까지 시야 준비는 끝났습니다.
모형, 보기, 컨트롤러의 협업
컨트롤러와 모델의 협업
데이터베이스 조작을 할 때 컨트롤러 동작에서 모델 유형을 사용하는 방법을 통해 실현할 수 있다.
fruits_controller.rbclass FruitsController < ApplicationController
def index
fruit = Fruit.find(1)
end
end
Frits 모델 클래스에서frits 테이블의 id에서 레코드 1개 얻기
대입 변수fruit.
이로써 컨트롤러와 모델의 협업은 끝났다.
컨트롤러와 뷰의 공동 작업
템플릿 변수를 사용하여 작업과 뷰에서 데이터를 수신할 수 있습니다.
템플릿 변수는 컨트롤러에서 @ 템플릿 변수 이름 = 값으로 정의됩니다.
fruits_controller.rbclass FruitsController < ApplicationController
def index
@fruit = Fruit.find(1)
end
end
정의된 @fruit는 보기에서 "@fruit"로 표시할 수 있습니다.
index.html.erb<%= @fruit.name %>
<%= @fruit.price %>
이 컨트롤러와 보기의 협업이 끝납니다.
끝말
최소한의 동작을 하는 새로운 응용 프로그램 제작의 작업 절차를 총결하였다.
앱을 만들 때 이 작업 절차를 바탕으로 순조롭게 만들면 좋겠다고 생각했어요.
Reference
이 문제에 관하여(새 응용 프로그램 작성 워크플로우), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/Tamitchao/items/108faa7e17c878ae7d27
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
rails g controller fruits
class FruitsController < ApplicationController
end
class FruitsController < ApplicationController
def index
end
end
루트는 고객의 요청에 따라 호출되는 컨트롤러와 동작을 결정합니다.
라우트는/config/routes.rb 파일에 정의됩니다.
routes.rb
Rails.application.routes.draw do
get 'fruits' => 'fruits#index'
end
상기 상황에서 "/frits"의 끝에 대한 요청을 정의하고fritss 컨트롤러의 index 동작을 호출합니다.뷰 준비
뷰 베이스
보기는 고객에게 반환되는 ERB 템플릿입니다.
템플릿에는 HTML에 Ruby가 포함된 코드가 기술되어 있습니다.
index.html.erb<h1>テスト</h1>
템플릿은 "/app/views"폴더에 파일 이름으로 저장됩니다. 이름은 "컨트롤러 이름/동작 이름.].erb"입니다.
이번에는 apples 컨트롤러에 대응하는 index 동작의 템플릿이기 때문에 구성은
“/app/views/fruits/index.erb”.
여기까지 시야 준비는 끝났습니다.
모형, 보기, 컨트롤러의 협업
컨트롤러와 모델의 협업
데이터베이스 조작을 할 때 컨트롤러 동작에서 모델 유형을 사용하는 방법을 통해 실현할 수 있다.
fruits_controller.rbclass FruitsController < ApplicationController
def index
fruit = Fruit.find(1)
end
end
Frits 모델 클래스에서frits 테이블의 id에서 레코드 1개 얻기
대입 변수fruit.
이로써 컨트롤러와 모델의 협업은 끝났다.
컨트롤러와 뷰의 공동 작업
템플릿 변수를 사용하여 작업과 뷰에서 데이터를 수신할 수 있습니다.
템플릿 변수는 컨트롤러에서 @ 템플릿 변수 이름 = 값으로 정의됩니다.
fruits_controller.rbclass FruitsController < ApplicationController
def index
@fruit = Fruit.find(1)
end
end
정의된 @fruit는 보기에서 "@fruit"로 표시할 수 있습니다.
index.html.erb<%= @fruit.name %>
<%= @fruit.price %>
이 컨트롤러와 보기의 협업이 끝납니다.
끝말
최소한의 동작을 하는 새로운 응용 프로그램 제작의 작업 절차를 총결하였다.
앱을 만들 때 이 작업 절차를 바탕으로 순조롭게 만들면 좋겠다고 생각했어요.
Reference
이 문제에 관하여(새 응용 프로그램 작성 워크플로우), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/Tamitchao/items/108faa7e17c878ae7d27
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
<h1>テスト</h1>
컨트롤러와 모델의 협업
데이터베이스 조작을 할 때 컨트롤러 동작에서 모델 유형을 사용하는 방법을 통해 실현할 수 있다.
fruits_controller.rb
class FruitsController < ApplicationController
def index
fruit = Fruit.find(1)
end
end
Frits 모델 클래스에서frits 테이블의 id에서 레코드 1개 얻기대입 변수fruit.
이로써 컨트롤러와 모델의 협업은 끝났다.
컨트롤러와 뷰의 공동 작업
템플릿 변수를 사용하여 작업과 뷰에서 데이터를 수신할 수 있습니다.
템플릿 변수는 컨트롤러에서 @ 템플릿 변수 이름 = 값으로 정의됩니다.
fruits_controller.rb
class FruitsController < ApplicationController
def index
@fruit = Fruit.find(1)
end
end
정의된 @fruit는 보기에서 "@fruit"로 표시할 수 있습니다.index.html.erb
<%= @fruit.name %>
<%= @fruit.price %>
이 컨트롤러와 보기의 협업이 끝납니다.
끝말
최소한의 동작을 하는 새로운 응용 프로그램 제작의 작업 절차를 총결하였다.
앱을 만들 때 이 작업 절차를 바탕으로 순조롭게 만들면 좋겠다고 생각했어요.
Reference
이 문제에 관하여(새 응용 프로그램 작성 워크플로우), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다
https://qiita.com/Tamitchao/items/108faa7e17c878ae7d27
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념
(Collection and Share based on the CC Protocol.)
Reference
이 문제에 관하여(새 응용 프로그램 작성 워크플로우), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/Tamitchao/items/108faa7e17c878ae7d27텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)