중첩 댓글 기능 구현하기

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

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

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

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

Continue reading “중첩 댓글 기능 구현하기”

Froala 에디터에서 이미지 업로드 처리하기

Froala 에디터는 내가 본 위지위그 웹에디터 중에 최고라는 생각이 든다.
유료다.
그러나 로컬서버에서 개발시에는 도메인 인증이 없어도 동작한다.

부트스트랩용 웹에디터로 summernote를 사용해 왔었는데, 부트스트랩용이다 보니까 부트스트랩의 버전 업로드시마다 매번 손을 봐야 제대로 동작하는 번거로움이 있고, 아직 UX의 완성도도 떨어지는 문제점이 있다.

Continue reading “Froala 에디터에서 이미지 업로드 처리하기”

레일스 개발환경에서 사용가능한 경로서비스

레일스 프로젝트 개발환경에서는 브라우저에서 라우팅 테이블과 레일스 정보를 볼 수 있다.

http://localhost:3000/rails/info/routes   # 라우팅 정보
http://localhost:3000/rails/info/properties  # 개발환경 정보

한가지 더,

http://localhost:3000/rails/mailers

이것은 프로젝트 내의 메일러의 미리보기 기능이라고 하는데, 제대로 동작하지 않는 것 같다.

macOS Sierra 업데이트

2016년 9월 21일부터 macOS Sierra 운영체제로의 무료 업그레이드가 시작되었다.
전체적인 업그레이드 진행상황은 문제가 없었다. 레일스 개발 환경에도 문제가 없었다.

업그레이드가 필요한 앱

1. Bartender(메뉴바 아이콘 정열앱) Sierra용 버전 2를 다운로드 받아야 한다.

2. Snagit(스크린캡쳐 앱) 4.0.5 버전으로 업그레이드 해야한다.

3. ExpandDrive 5.4.0.0 버전으로 업그레이드 해야한다.

Soft Delete

저자가 잘 알고 지내는 IT 개발업체 대표가 있다. 그는 항상 애플리케이션과 데이터 중에서 둘 다 중요하지만, 특히 데이터는 한번 삭제되면 복구할 수 없고 실수로 삭제할 경우는 더욱 난감해 지기 때문에 백업의 중요성과 함께 애플리케이션에서의 모든 삭제는 soft delete 하는 것을 원칙으로 한다고 늘 말한다.

Continue reading “Soft Delete”

더욱 강력해진 Turbolinks 3

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

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

특히 'Turbolinks 3'에서 추가된 기능 중 'Partial Replacement'에 대한 내용을 샘플 애플리케이션과 함께 알아 보도록 하자.
Continue reading “더욱 강력해진 Turbolinks 3”

fields_for 사용기 2016년 업데이트

2012년 04월 14일 “fields_for 사용기”란 제목의 블로그 글을 작성한 적이 있다. 무려 4년전의 일이다.

세월이 많이 흘렀다. 레일스는 최근에 5.0.0.beta1 버전을 릴리스했고 현재 루비의 최신 버전은 2.3.0 이다.

이 글은 이전 글에 대한 2016년도 업데이트라고 생각하면 된다. Continue reading “fields_for 사용기 2016년 업데이트”