ruby on rails 구조

HELLO WORLD🙌·2021년 6월 22일
0

TIL

목록 보기
22/23

루비

  • 데이터 종류
    숫자, 문자열, 배열, 해시, nil(아무것도없다), true/false

    • 해시(hash) : 키를 값에 매핑할 수 있는 구조
      colors = { ‘red’ => ‘ff0000’, ‘green’ => ‘00ff00’ }
      = {red: ‘ff0000’, green: ‘00ff00’}
  • 변수의 종류
    지역변수 foo = ‘foo’
    전역변수 $foo = ‘fooo’
    인스턴스변수 @foo
    클래스변수 @@foo

  • 메소드

def is_even? (number)
	if number%2 == 0
    	puts "even"
    else
    	puts "odd"
    end
end

루비온레일즈

  • rails 기본 구조

    • M 어플리케이션의 정보와 데이터를 다루는 규칙 -> database에 정보를 넣거나 읽는 역할
    • V 데이터 표현에 관련 된 루비코드가 삽입되어 있는 HTML 파일 (.erb)
    • C 모델과 뷰를 연결 (.rb)

    route.rb (해당 url은 어느 컨트롤러(action)과 연결되어 있나?) => controller (ex. user라는 테이블에 있는 정보를 가져와라) => model(정보 전달) => controller(데이터를 사용하기 좋게 처리한 후 html과 합쳐서 보여줘라 요청) => View (합쳐서 브라우저에 전송)

 // routes.rb
 
 Rails.apllication.routes.draw do
 	get '/' -> 'home$index'
    	get '/profile' -> 'home$profile'
// controllers > home_controller.rb (변수를 이용해서 View로 전달가능)

class HomeController < ApplicationController
	def index (액션이름)
   	@show_message = true
   	@message = "hello"
 	end
   
   	def profile
   	end
end
// views > home > index.erb (파일이름을 controller의 액션이름(매소드)와 똑같이 하면 연결된다)

<% if @show_message %>
	<p><%= @message %></p> 
<% end %>
   	//==> <% %>안에 루비코드 작성가능 =는 출력 시킨다는 의미
     
// views > home > profile.erb ( /profile이라는 url접속하면 이 파일에 있는걸 보여준다)

0개의 댓글