Rails Json 처리에 대해서 번역 정리

Jinsu Kim·2021년 2월 25일
1

rails

목록 보기
1/7

Rails에서의 Json에 대해서 정리해보자

포맷별로 처리를 나누기 위해 컨트롤러의 index 액션을 편집한다

  def index
    @users = User.search(params[:keyword])
    respond_to do |format|
      format.html
      format.json
    end
  end

여기서 respond_to란 ?

액션중에 HTML과 JSON등의 포맷별로 html인지 json인지 조건을 분기하는 것이 가능하다.

jbuilder 파일의 작성과 편집하는 방법

경로 : app/views/~~/index.json.jbuilder

json.array! @users do |user|
  json.id user.id
  json.name name.name
end

jbuilder라고 하는 확장자를 갖는 템플릿에서는 JSON이라고 하는 이름의 Jbuilder오브젝트가 자동적으로 이용가능하도록 된다.
array 메소드는 그중에 하나로 JavaScript쪽에 배열로 보내는 것이 가능하다.

search.js의 작성과 편집

$(function() {
  $(".search_input").on("keyup", function() {
    var input = $(".search_input").val();
    // ㅡㅡㅡ여기를 주목ㅡㅡㅡ
    $.ajax({
      type: 'GET',
      url: '/users/searches',
      data: { keyword: input },
      dataType: 'json'
    })
    // ㅡㅡㅡ 여기까지 주목 ㅡㅡㅡ
  });
});

Ajax통신을 표현하기위해 위의 코드와 같이 $.ajax메소드를 이용하였다.
또 위의 코드는 HTTP 메소드는 GET로 /users/search의 URL에 {keyword:input}를 전송. 서버에서 값을 반환할 때는 JSON을 이라는 의미를 갖는다. JSON 형식의 경우에는 app/views/~~/index.json.jbuilder가 읽혀 해당하는 투고 정보는 jbuilder에 의해 JSON에 변환되어진 JavaScript파일에 반환된다.

간단정리

json이어디서 사용되는지 확인하였다. 그러나 조금 더 확인 할 필요가 있다고 판단하여 자료를 조금 더 번역할 예정이다. 다음에는 json파일을 어떻게 다루는지에 대한 기초를 번역할 예정이다.
https://pikawaka.com/rails/json텍스트

ㅡㅡ 2021.02.26

profile
Ruby와 js로 첫 커리어를 시작하였고 3년차 엔진니어입니다! vim에 관심이 많습니다!

0개의 댓글