클라이언트와 서버 간 스토어 상호작용 이해의 어려움

안녕하세요,

저는 커뮤니티를 위한 커스텀 플러그인을 개발하고 있습니다. @eviltrout 님의 플러그인 개발 튜토리얼을 따라 해 보았지만, 프론트엔드와 백엔드 간 통신에 대한 중요한 정보가 여전히 부족합니다. 모든 것이 ajax 호출이라고 읽었으나, 이해할 수 없는 플러그인 예시를 하나 찾았습니다.

바로 이 Notebook 플러그인입니다.
서버 라우트와 클라이언트 컨트롤러는 이해하고 있습니다. 그런데 ajax 호출이 없는데도 서버 라우트가 어떻게 호출되는지 이해가 되지 않습니다.

note 모델이 상속하는 RestModel과 관련이 있는 것 같습니다.
하지만 여전히 ember의 store가 사용할 수 있도록 서버에 어떤 라우트를 정의해야 하는지 지정하는 구현을 찾을 수 없습니다.

도움을 주시면 정말 감사하겠습니다!

또한, 서버 라우트는 plugin.rb에 정의되어 있으며, 이 게시물을 참고했을 때 ember에서 {route}.json에 대한 호출이 이루어지는 것을 기대했지만, 아무것도 찾을 수 없었습니다.

Discourse 서비스 어딘가에 래퍼가 있는 것 같지만, 어디에 있는지 찾지 못하고 있습니다.

새로운 Rails 모델에 데이터를 추가해야 하는 건가요, 아니면 기존 모델에 추가하는 건가요? 예를 들어, add_to_serializer를 사용할 수 있습니다.

무엇을 달성하려고 하는지에 대해 더 많은 세부 정보를 공유해 주시면 도움이 될 수 있습니다.

먼저 이 메커니즘이 어떻게 작동하는지 이해하고 싶습니다. 여기서 말하는 것은 ember.js의 스토어가 rails의 엔드포인트를 어떻게 호출하는지에 대한 것입니다.

Rails는 JSON 형태로 데이터를 내보내고, 이를 Ember가 로드합니다.

전체 구조를 먼저 이해하는 것보다, 무언가를 직접 시도해 보며 그걸 이루기 위해 무엇이 필요한지 파악하는 것이 저에게는 더 쉽습니다.

전체적인 내용을 이해하고 싶다면 Ember와 Rails에 관한 책을 읽을 수 있습니다.

저는 Rails에 관한 책을 읽으면서 그 부분에 대해 어느 정도 이해를 갖게 되었습니다. 반면, Ember 쪽은 의미를 파악하는 데 꽤 오랜 시간이 걸렸습니다.