내가 한 노력들

[ Ruby on Rails ] 시작하기 본문

IT 공부/Ruby On Rails

[ Ruby on Rails ] 시작하기

JONGI-N CHOI 2021. 9. 6. 19:24

새로운 프로젝트 생성

rails new <프로젝트 명>

 

정상적으로 생성이되면, 위와같은 파일들이 생성이 된다.

 

중요한 App폴더와 config폴더에 대한 설명을하자면,

 

App폴더

Ruby on Rails는 MVC디자인을 사용하는데, App폴더안에 Model, View, Controller 폴더가 들어있는 것을 확인할 수 있습니다.

 

config폴더

Ruby on Rails를 사용하는데, 또 중요한 Routes파일이 config에 위치해있습니다. 

 

 

서버실행

rails server

 

로컬서버인 localhost:3000으로 가보면, 위의 사진과같은 메인 Ruby on Rails 화면이 나오면 성공입니다.

 

 

MVC구조로 라우트 하는법

 

config/routes.rb

Rails.application.routes.draw do
  # For details on the DSL available within this file, see https://guides.rubyonrails.org/routing.html
  root :to => "blog#index"
end

root : to => "blog#index" 부분은 

root는 localhost:3000의 URL을 의미하고, to를 통해서 blog라는 controller의 index 함수를 연결한 것입니다.

 

App/controllers/blog_controller.rb

class BlogController < ApplicationController
    def index
    end
end

def index

end

로 index 함수를 선언을 해줍니다.

 

App/views/blog/index.erb

<center>
    <h1>안녕하세요</h1>
</center>

 

 

이젠, 다시 홈페이지를 새로고침을 해보면

안녕하세요가 화면에 보이는 것을 볼 수 있습니다.

 

 

여기서 주의할점은 

controller와 view를 연결해줄 때, controller의 이름과 view의 폴더명이 같아야합니다 (blog)

그리고 controller의 함수명과 .erb 파일명과 이름이 같아야합니다. (index)

 

 

 

그러면 매인 URL이 아닌, 다른 URL을 route해주고 싶은 경우

  # For details on the DSL available within this file, see https://guides.rubyonrails.org/routing.html
  root :to => "blog#index"
  get "/home" => "blog#index"
end

get "/home" => "blog#index"

 

/home URL일 경우에도 blog controller의 index 함수와 연결되어있다.

 

그럼, http://127.0.0.1:3000/home을 입력해봐도 똑같이 "안녕하세요"화면이 나오는 것을 볼 수 있습니다.