2009-10-13 48 views
1

我試圖從一個單元測試做原料POST到內部網頁,出於某種原因,我得到了以下錯誤:原始post on Rails的

NoMethodError: undefined method `symbolize_keys' for #<String:0x258a910> 
    unit/call_route_attempt_test.rb:10:in `test_response_from_call_info' 

我的代碼看起來像這個:

post :call_info, '<?xml version="1.0" encoding="UTF-8"?><request-call-info>...SOME XML HERE...</request-call-info>' 

根據API文檔應該沒問題。我可以開始工作的唯一格式,如果我把它作爲參數,就像這樣:

post :call_info, :post => {:a_var => '<?xml version="1.0" encoding="UTF-8"?><request-call-info>...SOME XML HERE...</request-call-info>'} 

我有一種感覺,我需要需要出於某種原因不能在這裏工作的庫的某些部分。

編輯
作爲用戶薩拉梅指出,我打電話錯誤的POST方法。我認爲這與我的類繼承有關,鑑於我運行測試的情況,我不確定我能改變它。類定義如下:

class anApiControllerTest < ActionController::TestCase 

試圖實現的方法是後(::的ActiveResource連接)Rails的API文檔列出方法。我真的很陌生,很失落,並在最後期限內。任何幫助是極大的讚賞。謝謝!

回答