0
我正在爲Rails應用程序構建葡萄api。我正在用rspec請求規格來測試它。製作後的路線是這樣,當我遇到的問題:葡萄api忽略PUT/POST參數
resources :events do
segment '/:event_id' do
resources :tickets do
post do
event = current_user.events.find params[:event_id]
...#do sth with event using params[:tickets_ids]
相應的規範:
it "should should return the JSON hash of validated tickets" do
post "/api/mobile/#{version}/events/#{event.id}/tickets/", { tickets_ids: [1,2] }, credentials
response.should be_success
JSON.parse(response.body).should be_kind_of Hash
end
葡萄「控制器」是不是能看到哪些不發送作爲的一部分的任何PARAMS網址。打印params [:tickets_ids]時,它是零。使用get請求時,我沒有這個問題。使用curl手動發送請求時,我能夠重現此問題。嵌套的資源路由也不是問題,因爲它的行爲與頂級路由相同。
我在github上發現了以下問題,但應用給定的猴子補丁不起作用,並在啓動時中斷服務器。 https://github.com/intridea/grape/issues/417
我使用寶石及其以下版本,並且由於相關性衝突,我無法對它們進行升級:
grape (0.2.1.1)
rails(3.0.7)
rspec-rails (2.6.1)
任何幫助和提示,將不勝感激。
如果記得應該有一個報頭中設置的Content-Type具有值應用/ X- www-form-urlencoded –
謝謝你的提示。這完全是關於設置正確的Content-Type標頭。它現在是固定的。 – pawurb
希望能夠接受它,如果你願意接受它作爲解答這個問題的答案。謝謝。 –