我有一个具有API的应用程序,带有/ api / v1 / namespace:
namespace :api do
namespace :v1 do
resources :gateways do
resources :mappings do
# maybe more stuff
end
end
end
end
我的应用程序使用devise和cancan。
我的app / controllers / api / v1 / mappings_controller.rb中的映射控制器在rspec测试用例中正常工作,如果我遗漏:format =>:yaml(要求HTML,获得406)。 如果我要求:yaml,设计似乎认为我的测试用户不被允许。
我的测试用例很简单:
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 :(得分:0)
错误是:format =>:yaml需要进入第一个哈希,而不是进入第二个哈希。所以:
get :show, {:gateway_id => 1, :id => 2, :format => :yaml}