Я определил пользовательский ресурс, и у каждого пользователя есть несколько элементов. Теперь я хочу добавить маршрут для /user/:id/items(.:format)
, вместо определения элементов в качестве вложенного ресурса, я использую маршрут участника:
resources :user do
member do
match "/items" => "items#index", :via => [:get]
end
end
Проблема в том, что когда я пытаюсь написать rspec для контроллера, я не знаю, какое действие я должен использовать для доступа к items#index
. Я пытался
describe ItemsController do
it "denies access to item index without login" do
sign_out @user
get "index", :user_id => @user.id, :format => :json
response.code.should == "401"
end
# ...
end
Но после выполнения rake spec: на контроллерах написано
Failure/Error: get "index", :user_id => @user.id, :format => :json
ActionController::RoutingError:
No route matches {:user_id=>"1", :format=>"json", :controller=>"items"}
Я использую Rails 3.1. Как я могу использовать rspec для проверки этого маршрута участника? Спасибо.