2011-08-13 67 views
0

我有一個應用程序,將有一個API,用/ API/V1 /命名空間:Rails3中路由和基於YAML API,使用設計和康康舞

namespace :api do 
    namespace :v1 do 
    resources :gateways do 
     resources :mappings do 
     # maybe more stuff 
     end 
    end 
    end 
end 

我的應用程序使用設計和慘慘。

我的映射控制器在應用程序/ controllers/api/v1/mappings_controller.rb中正常工作,如果我忽略:rset測試用例:format =>:yaml(詢問HTML並獲取406)。 如果我要求:yaml,devise似乎認爲我的測試用戶不被允許。

我的測試用例是愚蠢簡單:

describe "Agent access to mappings" do 
    it "gets a list of mappings that includes test_user mapping" do 
     @test_agent = users(:firewallagent) 
     sign_in(@test_agent)  
     get :show, {:gateway_id => 1, :id => 2} #, :format => :yaml 
     assert_response 200 
    end 
    end 

我看不到色器件/監獄長什麼這將是特定的格式,但也許我已經錯過了它。

回答

0

錯誤在於:format =>:yaml需要進入第一個散列,而不是進入第二個散列。所以:

get :show, {:gateway_id => 1, :id => 2, :format => :yaml} 
相關問題