2013-10-21 29 views
0

我正在Sping一個AngularJS 1.0.8應用程序,它正在向Rails 3.2.13服務器發送POST請求。今天早些時候我做了一些非常相似的事情,結果略有不同在Rails中構建嵌套參數的內容是什麼?

爲了舉例,主資源將是Person(名稱:字符串)。

在前面的嘗試中,創建新Person實例的提交屬性由Rails處理,如下所示:{「name」=>「John」,「person」=> {「name」=>「John」} }

在後來的嘗試,提交的屬性進行如下處理:{「名」 =>「約翰」,「人」 => {}}

在從我的瀏覽器出站請求,請求屍體看起來完全相同:{「name」:「John」}

我想知道Rails的哪個部分決定使用嵌套參數,以便我可以弄清楚爲什麼這兩個實現看起來不同FER。

+0

請向我們展示您用於提出請求的代碼。 –

回答

0

事實證明,新版本模型的attr_accessor字段與客戶端POST發送的字段不一致。 Rails正在使用這些字段來填充這種請求的嵌套參數。

class Person 
    attr_accessor :name 
end 

# request body for a POST to /people 
{"name":"John","age":"23"} 

# request parsed and nested in Rails route 
{"name"=>"John", "age"=>"23", "person"=>{"name":"John"}} 

我的假設的基礎上,我在相關的嵌套PARAM問題和文檔已閱讀,是對ActiveRecord的車型領域和協會來決定嵌套參數的結構。

相關問題