'컨트롤러 뷰'에 해당되는 글 1건

  1. 2008.05.15 Ruby on Rails 시작하기(6).. 뷰 생성하기 (6)
2008.05.15 14:30

Ruby on Rails 시작하기(6).. 뷰 생성하기

Ruby on Rails 뷰 생성하기

 지난번에는 간단하게 컨트롤러에서 직접 텍스트를 출력해 보았습니다. 하지만 레일즈의 MVC 규약을 따르고자 한다면 당연히 텍스트는 뷰에서 출력해야 맞겠죠?

그럼 어떻게 컨트롤러에 있는 녀석을 뷰에다 넣는지 간단하게 알아보도록 하겠습니다.

레일즈는 다른 웹 프레임워크 처럼 템플릿을 지원합니다.

우선 뷰를 생성해 보겠습니다. 아래와 같이 /views/greeting/index.rhtml 파일을 생성하겠습니다.
사용자 삽입 이미지

생성한 html 파일에 다음과 같이 보여줄 문구를 작성합니다.
<h1>Greeting#index</h1>
<p>Find me in app/views/greeting/index.rhtml</p>

그리고 이전에 만들었던 컨트롤러 안의 내용은 삭제 하도록 하겠습니다.
 class GreetingController < ApplicationController
  def index
    render :text => "<h1>Welcome to your first Rails application</h1>" -> 삭제
  end
end
위와 같이 작성하고 익스플로러에서 "새로고침"을 하면 ?  아래와 같은 페이지가 뜨는 것을 볼 수 있습니다.
URL 에는 index 라는 액션이 지정되어 있지 않은데 이것은 기본적으로 index를 찾게 설정이 되어 있나 봅니다.

사용자 삽입 이미지

컨트롤러와 뷰 연동하기

MVC 에서는 일반적으로 컨트롤러가 제공하는 모델데이터를 출력(렌더링) 합니다. 그럼 컨트롤러에 선언되어 있는 값을 어떻게 뷰에서 출력하는지 알아보도록 하겠습니다.

우선 컨트롤러에 아래와 같이 작성해 보도록 하겠습니다.
 class GreetingController < ApplicationController
  def index
    @welcome_message="Welcome to your first Rails application"
  end
end
@ 는 변수를 선언할때 쓰는 것인가 봅니다 ^^

그리고 뷰에도 역시 화면에 렌더링할 녀석을 작성해 줍니다.
<h1><%= @welcome_message %></h1>
<%= 와 %> 태그 사이에 루비 표현식을 추가함으로써 뷰에 새로운 메세지를 출력해보도록 하겠습니다.
이제 다시 "새로고침"을 해보겠습니다.

사용자 삽입 이미지

짠~ 컨트롤러의 인스턴스 변수에 셋팅한 메세지가 화면에 렌더링된 결과를 볼 수 있습니다.
이거 정말 간단하네요. 이렇다할 설정없이 이미 지정된 네이밍 컨벤션을 이용하여 정말 간단하게
컨트롤러와 뷰를 작성해서 화면에 뿌려줬네요 ^ㅡ^

저 같이 환경 셋팅하고 서버 설정하고 컨텍스트 설정하고.. 이런거에 귀차니즘을 느낀 사람이라면
편리하고 빠르고 쉽게 개발을 할 수 있겠다란 생각을 갖게 되네요 ㅋㅋ 자~ 앞으로도 할일이 많으니
계속 진행해 보도록 하겠습니다.

ps. 오늘은 일단 시간이 없어서 여기까지 하고 다음에 연재 하도록 하겠습니다. ^^
Trackback 0 Comment 6
  1. Favicon of http://blog.naver.com/neoplog BlogIcon 네피 2008.05.15 17:53 address edit & del reply

    좋은 정보들이 가득하네요! 잘 보고 갑니다^^

    • Favicon of https://chery.tistory.com BlogIcon chery 2008.05.16 01:26 신고 address edit & del

      들려 주셔서 감사합니다~ ^^

  2. Favicon of http://shibatakan.com/wordpress BlogIcon SHIBATA KAN 2008.06.13 14:26 address edit & del reply

    지나가다가 살포시 한마디만 적어보도록 하겠습니다.
    @로 시작하는 건 변수이긴 한데 변수중에서도 인스턴스 변수를 뜻합니다. 일반적인 로컬변수는 아무것도 붙히지 않고 사용하죠. 그리고 글로벌 변수 같은 경우에는 $를 붙혀서 사용한답니다.

    혹시나해서요 ^^

  3. chery 2008.06.16 14:46 address edit & del reply

    아~ 좋은 지적 감사합니다~

  4. 부평인 2012.12.17 14:39 address edit & del reply

    루비 입문하기 시작한 초보입니다~
    정말 알기 쉽게 잘 설명되어 눈에 확 들어왔네요!
    다음 연재가 없는거 같아 정말 아쉽습니다..

  5. Favicon of http://263.morningcallcoffeesstand.com/ChicagoBlackhawks-us.php BlogIcon Chicago Blackhawks Jersey 2013.07.18 23:54 address edit & del reply

    다른 남자 부르면서 울거면 나한테 이쁘지나 말던지