복붙노트

[RUBY-ON-RAILS] 레일 및 백본 협력

RUBY-ON-RAILS

레일 및 백본 협력

코드 스쿨, 좀비를위한 레일을 그냥 처음 내가 backbone.js가 어떻게 작동하는지 보았다, MVC 구조에 보이기 시작하고, 지금은 단지 완료했습니다. 나는이 모든으로 너무 멀리 탐구하지 않은 것을 알고,하지만 난로 시작하는 질문을했다.

당신은 함께 이러한 라이브러리를 사용할 수 있습니까?

나는 둘 다 모델, 뷰 등을 작성하는 방법을 배웠습니다,하지만 실제 응용 프로그램을 만들 때 백본 및 레일 모두를 사용합니까?

그렇다면...

A는 모델 레일 대 때 당신은 backbone.js 모델을 사용합니까?

어쩌면 난 그냥 자신과 연습 및 자습서 일을 계속 할 필요 앞서 무엇입니까하지만 난 이것에 직접 아무것도 찾을 수가 없습니다.

감사!

해결법

  1. ==============================

    1.고급 관객들에게 중간 목표로하지만 아무것도하기 전에 나는 훌륭한 출발점이 될 것입니다 thoughtbot의 Backbone.js 레일에 책에서 살펴 보는 게 좋을 것. 이 책은 이미 레일하지만 총 backbone.js 초보자로 근무하는 데 그것은 아주 잘 날 역임했다 샀다.

    고급 관객들에게 중간 목표로하지만 아무것도하기 전에 나는 훌륭한 출발점이 될 것입니다 thoughtbot의 Backbone.js 레일에 책에서 살펴 보는 게 좋을 것. 이 책은 이미 레일하지만 총 backbone.js 초보자로 근무하는 데 그것은 아주 잘 날 역임했다 샀다.

    그건 그렇고,이 책과 다른 책에서 다루고있는 세부 사항을 넘어 이러한 프레임 워크를 결합 몇 가지 근본적인 문제가 있습니다. 다음은 당신이의 RoR과 backbone.js 페어링 내 자신의 경험, 생각 좋을 것 몇 가지가 있습니다. 이 긴 대답하고 방황하는 질문의 세부 사항에서 조금,하지만 난 당신이 직면하고있는 문제를 이해하는 "큰 그림"의미에서 당신을 도울 수 있기를 바랍니다.

    Rails 애플리케이션의 상단에 backbone.js를 사용할 때 직면하는 첫 번째 일은 전망에 대해 무엇을하지만,이 정말 훨씬 더 깊은 문제의 단지 표면이다. 문제는이 RESTful 웹 서비스를 만드는 것이 무엇을 의미하는지의 중심부로 이동합니다.

    레일이 균일의 URI에 액세스 자원 세트의 관점에서 라우팅 구조에 의해, 편안하고 서비스를 생성하기 위해 사용자를 장려하기 위해 상자 밖으로 설정된 표준 HTTP 행동을 통해 (당신의 routes.rb 파일에 정의). 당신이 포스트 모델이있는 경우, 당신은 할 수 있습니다 :

    레일의 이러한 측면에 대해 기억해야 할 중요한 점은 근본적으로 비 상태라는 것이다 :에 관계없이 내가 이전에 무엇을하고 있었는지의, 나는 단순히 올바른 URI, 말 / 글에 대한 유효한 형태의 데이터로 POST 요청을 전송하여 새로운 포스트를 만들 수 있습니다 . 나는 (세션 쿠키 나 식별이) 로그인해야 할 수 있지만, 본질적으로 정말 내가 그 요청을 전송하기 전에 내가 무엇을하고 있었는지 상관하지 않는다 레일 : 물론주의 사항이있다. 나는 나에게 사용할 수 있습니다 다른 게시물을 업데이트하여 또는 어떤 다른 자원에 대한 유효한 조치를 보내 그것을 수행 할 수있다.

    어떻게 레일의 이러한 측면은 비교적 쉽게 회전 할 수있게 설계된다 (자바 스크립트 등)는 API로 웹 응용 프로그램을 레일 : 자원이 유사하거나 동일합니다, HTML 페이지를 반환하는 웹 프레임 워크 API (일반적으로) 데이터를 반환에있는 동안 JSON 또는 XML 형식입니다.

    백본은 편안하고 자원을 기반으로합니다. 당신이 업데이 트를 만들거나 backbone.js 모델을 파괴 할 때마다, 당신은 종류의 편안한 아키텍처는 상기 한 가정의 URI로 전송 표준 HTTP 작업을 통해 이렇게. 이 RoR에 같은 편안하고 서비스를 통합하는 것이 이상적이다.

    그러나 여기서 강조되어야 할 미묘한 지점이있다 :하는 API로 레일 원활 backbone.js의 통합합니다. 즉, 당신이 HTML 뷰를 벗겨 단지 등, 편안하고 자원을 제공하는 데이터베이스와 통합, 세션 관리를 수행하기위한 레일을 사용하는 경우, 말을하는 것입니다, 그것은 backbone.js 클라이언트 측을 제공하는 구조와 매우 잘 통합 암호. 많은 사람들이 사용에 아무것도 잘못이 방법 레일 주장, 나는 여러 가지 방법으로 그들이 옳다고 생각합니다.

    의 의견이며 그들이 대표 : 우리가 그냥 버려했다고 레일의 다른 부분과 함께 무엇을해야하는지의 문제에서 비록 합병증이 발생한다.

    이 사실은 처음에 보이는 것보다 더 중요하다. HTML보기는 인간이 서비스가 제공하는 편안하고 리소스에 액세스에 사용하는 비 저장 인터페이스를 나타냅니다. 그들과 함께 멀리 이렇게하면 두 개의 액세스 포인트를 잎 :

    공지 인간 상태가없는 (편안하고) 인터페이스가 더 이상 존재입니다. 반면에, API를 전통적인 레일 응용 프로그램에, 우리는 가까운이 뭔가를했다 :

    자원에 액세스하기위한 후자의 두 인터페이스는 이전의 두 이상의 서로 본질적으로 훨씬 더 가까이있다. 그냥 통합 된 방식으로 다양한 편안하고 대응을 포장 유사성을 활용 레일 'respond_with의 예를 들어 생각합니다.

    이 힘은 모두 매우 추상적 인 것 같고 지점 옆에, 나는 알고있다. 그것은 더 많은 콘크리트를 만들기 위해 노력하기 위해 함께 작업에 레일 및 backbone.js보기에 대한 질문에 돌아 오기 다음과 같은 문제를 고려한다. 이 문제에서, 당신은 할 수 원하는 :

    다음은 최신 웹 서비스에 대한 특별한 요구 아니지만, 복잡한 문제를 만들 수 있습니다. 긴 이야기를 짧게하려면, 당신은 지금이 "인간 중심의"레이어를 생성해야합니다 :

    실제로이 두 가지의 후자를 포기하고 그냥 리치 클라이언트 측 인터페이스를 제공 요즘 많은이 리드를 수행의 복잡성. 당신은 무엇을하기로 결정하는 것은 당신의 목표와 당신이 달성하고 싶은에 따라 달라집니다,하지만 신중하게이 문제에 대한 가치를 생각합니다.

    그 일에 대한 또 다른 가능한 참고로, 나는 오라일리의 RESTful 웹 서비스를 살펴 가진 건의 할 것입니다. 그것은 레일 및 Backbone.js에 대한 질문에 REST에 대한 책을 추천 할 이상하게 보일 수도 있지만 실제로 나는이 맞는이 매우 다른 함께 프레임 워크 등을 완전히 이해 당신이 활용할 도움이 될 것으로 중요한 부분이라고 생각 모두의 강점.

  2. ==============================

    2.예, 옆에 양쪽을 사용할 수 있습니다. 백본은 클라이언트 브라우저 내에서 데이터를 저장하고 조작하기위한 것입니다. 그것은 일반적으로 이야기에서 데이터를 가져올 서버를 필요로한다. 레일이 들어오는 곳이다. 당신은 무거운 클라이언트 측 코드없이 웹 애플리케이션을 가질 수 있습니다. Gmail 또는 판도라의 생각 - 백본은 더 많은 애플 리케이션 같은 느낌이 사이트를 구축입니다.

    예, 옆에 양쪽을 사용할 수 있습니다. 백본은 클라이언트 브라우저 내에서 데이터를 저장하고 조작하기위한 것입니다. 그것은 일반적으로 이야기에서 데이터를 가져올 서버를 필요로한다. 레일이 들어오는 곳이다. 당신은 무거운 클라이언트 측 코드없이 웹 애플리케이션을 가질 수 있습니다. Gmail 또는 판도라의 생각 - 백본은 더 많은 애플 리케이션 같은 느낌이 사이트를 구축입니다.

    난 그냥 처음으로 레일을 학습 조언한다. 당신이 원하는대로 당신이 정적 페이지 로딩을 얻을 스타일 수있게되면, 다음 이해 백본의 장소는 더 이해가됩니다

  3. ==============================

    3.나는 (백본에 내장) 몇 한 페이지 응용 프로그램을 포함 상당히 큰 웹 사이트를 제공하기 위해 백엔드 서버로 레일을 사용했습니다.

    나는 (백본에 내장) 몇 한 페이지 응용 프로그램을 포함 상당히 큰 웹 사이트를 제공하기 위해 백엔드 서버로 레일을 사용했습니다.

    나는 백본에 레일 보석을 건의 할 것입니다. 아이디어는 당신의 레일 서버가보기 중 하나에 스크립트 태그와 백본 응용 프로그램을 제공하는 것입니다. (가) 응용 프로그램 / 자산 폴더를 레일에 당신은 당신의 백본 응용 프로그램 자체를 유지한다.

    백본은 규칙을 라우팅 레일을 이해하고 당신은 레일 자원을 생성하여 레일이 거의 당신을 위해 생성 할 수있는 JSON API에 그것에게 경로를 제공해야합니다.

    모델 사이의 동기화 이외에, 당신의 백본 애플 리케이션과 레일 애플 리케이션은 매우 별개입니다. 백본 및 레일 꽤 같은 MVC 모델을 가지고 있지만, 협력하도록하는 방법을 사용하는 것은 매우 간단하지 않습니다.

  4. from https://stackoverflow.com/questions/11918586/rails-and-backbone-working-together by cc-by-sa and MIT license