Whick은 다른 하위 도메인의 Backbone 앱에서 Rails 앱으로 POST, PUT 및 DELETE하는 가장 좋은 방법입니까?Backbone 앱에서 다른 하위 도메인의 Rails 앱으로 POST, PUT 및 DELETE하는 방법은 무엇입니까?
레일즈 앱에서 백본으로 일부 데이터를 가져 오려고했는데 제대로 작동했습니다. Backbone to Rails 앱으로 새 콘텐츠를 저장하려고했습니다.
PUT (데이터베이스에서 생성 된 모델 업데이트)에 실제 문제가 있습니다. 나는 이유는 모르겠지만, 내가 좋아하는 내 백본 애플 리케이션 뭔가를 수행 할 때 book.save()
그리고 책 대신에 sendind 풋 청원의, 이미 데이터베이스에 existis 모델이다 Rails APP, OPTIONS 청원서를 보내는 중이고 데이터가 없습니다.
이상적으로는, 나는 레일 응용 프로그램에 백본 응용 프로그램에서 PUT 청원서를 보내려면, 그래서 난 내 레일 응용 프로그램에서이 같은 작업을 수행 할 수 있습니다
Book.update_attributes의 PARAMS [: 책]
을 Rails App과 Backbone App은 동일한 최상위 도메인의 다른 하위 도메인에 있습니다.
하지만 회로를 를 요청 처리해야 나는이 방법을 시도했는데 어떤 이유로 든 옵션 액션에서 params를 얻지 못했습니다. 정확한 routes.rb 줄은 match '/books.(:format)/:id', : 컨트롤러 => 'books', : action => 'options', : constraints => {: method => 'OPTIONS' } 그리고 내 books_controller에 : def 옵션 set_access_control_headers 디버거 1 respond_to 할 | 형식 | { "format"=> "json", "action"=> "options", "id"=> "6", "controller"=> "books" } 그러나 백본에서 제목을 업데이트했으며이 매개 변수는 여기에 없습니다. 도움을 주셔서 감사합니다 – Terry
크로스 도메인에 대한 백본에서 두 가지 요청이있을 것입니다. 첫 번째는 OPTIONS 요청입니다. 레일 응용 프로그램은 클라이언트에게 허용 된 내용을 알려주는 적절한 헤더로 응답하는 것 외에는 아무 것도하지 않습니다. 그러면 클라이언트는 원래 PUT 요청을 보냅니다. 그것이 정상적인 리소스 처리를 수행하고 책을 업데이트하는 곳입니다. –