2012-11-26 7 views
2

레일즈를 사용하여 RESTful (또는 대부분 RESTful ...) API를 구축 중이며 간단히 대답할만한 질문을 던집니다.Rails REST API POST 매개 변수

기본적으로 Rails 규칙은 POST 및 PUT 호출시 자원의 이름 안에 속성을 포함하는 것으로 보입니다. 내 말은 당신이 만들거나 컨트롤러 내부에 다음과 같은 방식으로 개체를 업데이트 보통 :

Object.create(params[:object]) 

또는

Object.update_attributes(params[:object]) 

내 질문은, 이것에 대한 이유가 있습니까? 나는 간단한 클래스가있는 경우, 왜 위의 권장되지 않는 레일/Rubyist/API 이유가있는 경우에만 콘텐츠 속성이 코멘트 클래스는, 나는 다음과 같은

Comment.create(content: params[:content]) 

을 가질 수라고?

답변

2

레일즈 양식 도우미는 대개 객체에서 명명 된 배열에 객체 속성을 래핑하고 params에서 사용할 수 있습니다.

이름 충돌을 피하기 위해 매개 변수의 형식을 다르게 지정할 수 있습니다.

다음 대상 : Comment.create(params[:content]) 은 작동하지 않습니다.

해야 할 것 :

Comment.create(content: params[:content]) 
+0

아; 구문 오류에 대해 죄송합니다 (게시물을 수정할 것입니다). – lloydmeta