오늘 만들게 될 페이지 구조
페이지 생성에는 3가지 조건이 맞아야 한다
- controller action이 존재한다
- action과 연결된 view 파일이 존재한다
- routes.rb에 url과 action이 연결시켜져 있다
Controller와 action 의 생성
컨트롤러를 생성하려면 아래의 코드를 Bash 창에 입력해야 한다
rails generate controller home
이제 생성된 Controller에서 액션을 추가해보자
class HomeController < ApplicationController def index end end
나는 index라는 이름의 액션을 만들었다
View 파일의 생성
app/views 폴더 안에 생성된 home 폴더 안에 "index.erb" 파일을 생성하여 html 코드를 입력할 수 있다.
routes.rb로 url과 action 연결하기
config 폴더 안에 있는 routes.rb 파일에 기본 url인 /로 접근하면 우리가 만든 index 라는 액션과 연결되도록 해보자
Rails.application.routes.draw do get '/' => 'home#index' end
Controller와 View 사이에 변수로 데이터 교환하기
인스턴스 변수를 이용하면 View 파일에 데이터를 전달하고, 출력할 수 있다.
class HomeController < ApplicationController def index @hello = "world" end end
<!--index.erb 파일--> <%= @hello %>
view 파일에서 <%= %>기호는 안의 루비 문법 실행후 출력하고, <%%> 루비 문법을 실행시키기만 한다.