2012-04-29 3 views
0

저는 spine이라는 js 프레임 워크로 작업하고 있습니다. 프레임 워크는 REST API (백본과 같은)를 통해 모든 crud 작업을 수행 할 수 있습니다. 내 컨트롤러에 대한 요청을 생성 할 때 클라이언트 측의 id 필드가있는 모델 데이터를 얻습니다. 그래서 새 레코드를 만들어야하지만이 레코드가 이미 존재한다고 생각합니다. id 필드 때문에), insert 대신 update를 호출합니다. 이 문제를 해결할 방법이 있습니까? 클라이언트 측에서이 임시 ID를 생성하길 원하지만 호출 서버 측에서이 ID를 작성하면 무시해야합니다.mongo db 및 rails id 문제

일부 코드 :

저장이 몽고라는 업데이 트를 할 수있다
#in my_controller 
def create 
    @model= Model.new(params[:modelData]) #model data is name=>"x", _id=>"c-0" 
    @model.save 

, 그래서 다음이 레코드를 우선합니다 만듭니다.

+0

mongodb에서 클라이언트 생성 ID를 '_id'로 사용합니까? – kofemann

+0

클라이언트에서 생성 된 ID를 모르겠다 –

+0

문제를 설명하기 위해 일부 코드를 게시 할 수 있습니까? –

답변

0

나는 선택의 여지가 있지만 클라이언트에서 가져온 모델에서 id 필드를 삭제 없었다.

0

은 내가 당신의 질문을 이해 확실히 모르겠지만, 난 당신이 원하는 생각 :

@model = Model.find_or_initialize_by_id(params[:modelData][:_id]) 
@model.update_attributes(params[:modelData])