루비앤레일즈는 기본적으로 MVC 패턴을 따르며, 이에 맞춰 웹 서비스가 가능합니다.
Cloud9 에서 프로젝트를 생성 후 간단한 페이지를 작성해 보겠습니다.
작업은 1. 프로젝트 생성 -> 2. 라우트 설정 -> 3. 컴포넌트 생성 -> 4. 컨트롤러 작성 -> 5. 뷰 작성 등으로 진행됩니다.
1. C9 프로젝트 생성
1.1 C9 로그인 후 Workspaces 에서 Create a new workspace 를 선택합니다.
1.2 Workspace 정보 입력 후 Ruby on Rails 템플릿을 선택합니다.
1.3 C9 프로젝트 생성 완료 화면입니다.
2. 환경설정
라우트에 주소규칙을 설정할 수 있습니다. config/routes.rb 파일에 아래를 참고하여 주소규칙을 작성해봅니다.
Rails.application.routes.draw do
# get "/" => "<<컨트롤러>>#<<액션명>>" # "/" 로 접속시 <<컨트롤러>>의 <<액션명>> 실행
# get "/" => "member#login" # "/" 로 접속시 member 컨트롤러의 login 액션 실행
get "/member/login" => "member#login" # "/" 로 접속시 member 컨트롤러의 login 액션 실행
end
3. 컴포넌트 생성
Cloud9 bash 창에서 아래 커맨드로 컴포넌트 생성할 수 있습니다.
rails generate controller <<컴포넌트명>> #<<컴포넌트명>> 컴포넌트 생성
rails g controller <<컴포넌트명>> # 위와 동일
rails g controller Member # Memeber 컴포넌트 생성
실제 컴포넌트 생성 결과입니다.
$ rails g controller Member # Memeber 컴포넌트 생성
Running via Spring preloader in process 2371
create app/controllers/member_controller.rb # 컨트롤러
invoke erb
create app/views/member # 뷰 경로
invoke test_unit
create test/controllers/member_controller_test.rb # 컨트롤러 테스트
invoke helper
create app/helpers/member_helper.rb # 헬퍼
invoke test_unit
invoke assets
invoke coffee
create app/assets/javascripts/member.coffee #자바스크립트
invoke scss
create app/assets/stylesheets/member.scss # 스타일시트
4. 컨트롤러 작성
config/routes.rb 에 작성하였던 컨트롤러에 액션을 추가해 보겠습니다.
app/controllers/member_controller.rb 에 아래과 같이 작성해 봅니다.
class MemberController < ApplicationController
def login
end
end
5. 뷰 작성
이제 컨트롤러의 액션에 해당하는 뷰를 작성해 보겠습니다.
app/views/member/login.html.erb 파일을 생성 후 아래와 같이 작성해 봅니다. (파일명을 액션명과 맞춰줘야 합니다.)
<h1>Log In@@@</h1>
6. 결과 보기 및 다양한 출력 방법
지금까지 프로젝트 생성 후 라우트 설정을 하였고, 컴포넌트를 생성하여 컨트롤러와 뷰를 작성하였습니다.
이제 그 결과를 확인해 볼 차례입니다.
아래 C9 Workspace에서 Run Project 를 통해 서버를 구동시켜봅니다.
그리고 서버 구동 후 아래 링크들을 열어 결과를 확인해 볼 수 있습니다.
6.1 그 결과는 아래와 같습니다.
6.2 이번에는 컨트롤러에서 직접 내용을 출력해보겠습니다.
app/controllers/member_controller.rb 에 아래과 같이 작성해 봅니다.
class MemberController < ApplicationController
def login
render text: "Log In!!!" # 뷰에서 "Log In!!!" 문구 출력
end
end
6.3 이번에는 뷰 파일명을 달리하여 컨트롤러 액션에서 직접 지정하여 출력해보겠습니다.
app/views/member/test_login.html.erb 파일을 생성 후 아래와 같이 작성해 봅니다.
<h1>Log In Test@@@</h1>
그리고 app/controllers/member_controller.rb 에 아래과 같이 작성해 봅니다.
class MemberController < ApplicationController
def login
render "test_login" # test_login 뷰 지정
end
end
그 결과를 확인해봅니다.
이렇게 Cloud9 과 Ruby on Rails를 통해 간단하게 페이지를 작성해 보았습니다.
MVC 패턴 중 View 와 Controll 만을 사용하여 만들어 보았습니다.
생각보다 어렵지 않게 페이지가 만들어 지는 것을 확인할 수가 있네요.
이상 간단 시식을 마칩니다.
'IT > ETC' 카테고리의 다른 글
Copilot 리서칭 (1) | 2024.10.17 |
---|---|
[SonarQube] SonarQube & Jenkins 이야기 (0) | 2020.02.14 |
[SonarQube] SonarQube 도입기? (0) | 2020.02.07 |
[Docker] Docker란? (0) | 2018.03.23 |
Expert Beginner란... (0) | 2018.03.12 |