레일스를 이용하여 프로젝트를 작성할 때 특정 글에 대한 댓글기능을 구현하는 것은 매우 단순하고 쉬운 편이다. 물론 구현 방식에 따라 그 난이도는 다를 수 있지만, 이에 대해서는 인터넷 상에 이미 많은 자료가 소개되어 있다.

이 글에서는 댓글기능을 스레드방식으로 중첩해서 보이도록 기능 개선을 해 볼 것이다.

구현로직은 사실은 매우 간단하다. 댓글 모델에 상위 객체로 연결할 수 있도록 외래키를 추가하고 댓글 모델에 self join 관계 선언을 해 주면 된다.

곧 정식으로 릴리스될 예정인 레일스 5의 여러가지 추가 기능 중에 두 가지가 주목을 받고 있다. 하나는 'ActionCable', 다른 하나는 'Turbolinks 3'다.
'ActionCable'에 대해서는 별도의 글을 준비 중이며, 여기서는 'Turbolinks 3'에 대해서 추가된 기능 중심으로 알아 보도록 하겠다.

참고동영상: New Turbolinks 3 Features With Ruby on Rails

특히 'Turbolinks 3'에서 추가된 기능 중 'Partial Replacement'에 대한 내용을 샘플 애플리케이션과 함께 알아 보도록 하자.