2012-11-21

Ramaze 에서 JSON 으로 응답하기



AJAX 로 동작하는 웹프로그램을 개발하려면, JSON 으로 응답하는 컨트롤러를 작성할 필요가 있다. Ramaze 기본 문서에는 대략만 나와 있어서, 써먹기 어려워서 테스트해보고 다시 정리해본다.

  • Controller 의 init.rb 에 다음 내용을 추가해준다.
    require 'json' # --> 추가된 부분
    
    class Controller < Ramaze::Controller
      layout :base
      helper :xhtml
      engine :etanni
      provide( :json, :type => "application/json") { |action, val| val.to_json } # --> 추가된 부분
    end
    
  • Controller 작성 예제
    class TestController < Controller
      map '/test'
      
      def action
        json = {}
        json['a'] = '1234'
        json['b'] = '5678'
        json
      end
    end
    
  • 해당 액션을 호출할 때에는 http://test.com/test/action.json 처럼 끝에 .json 을 붙여준다.

댓글 없음:

댓글 쓰기