Я работаю над превосходным учебником Майкла Хартла по Rails, но у меня возникли проблемы с упражнением 7 в главе 11.
Это упражнение:
Добавление вложенного маршрутатак что / users / 1 / microposts показывает все микросообщения для пользователя 1. (Вам также необходимо добавить действие индекса контроллера Microposts и соответствующее представление.)
Я успешно сделал это, изменивМой routes.rb
файл для чтения:
resources :users do
resources :microposts, :only => [:create, :destroy]
end
Я могу успешно звонить / users / 1 / microposts из браузера.Однако большинство тестов в microposts_controller_spec.rb теперь не работают.Я получаю сообщение об ошибке «Нет совпадений маршрутов» при запуске автотеста.Например, первый тест, который просто читает:
it "should deny access to 'create'" do
post :create
response.should redirect_to(signin_path)
end
теперь выдает следующую ошибку:
1) Контроль доступа MicropostsController должен запретить доступ к «create» Failure / Error: post: create Маршруты не совпадают:
user_microposts POST /users/:user_id/microposts(.:format) {:action=>"create", :controller=>"microposts"}
, который предполагает, что маршрут действительно существует.
Кто-нибудь еще сталкивался с этой проблемой при завершении учебника?Нужно ли вносить изменения в файл спецификаций после того, как я ввел вложенные маршруты?Работает ли Rspec с вложенными маршрутами?
спасибо