У меня есть Ruby on Rails с огурцом. База данных была перенесена для тестовой среды, и я вижу ее с помощью sqliteman. Проблема в том, что в то время как rake route показывает маршруты, которые я хочу, огурец возвращает ошибку, говорящую, что маршруты не существуют.
Маршруты:
movies GET /movies(.:format) {:action=>"index", :controller=>"movies"}
POST /movies(.:format) {:action=>"create", :controller=>"movies"}
new_movie GET /movies/new(.:format) {:action=>"new", :controller=>"movies"}
edit_movie GET /movies/:id/edit(.:format) {:action=>"edit", :controller=>"movies"}
movie GET /movies/:id(.:format) {:action=>"show", :controller=>"movies"}
PUT /movies/:id(.:format) {:action=>"update", :controller=>"movies"}
DELETE /movies/:id(.:format) {:action=>"destroy", :controller=>"movies"}
Затем в том же окне подсказки я запускаю «bundle exec cucumber» и получаю эту ошибку в двух разных сценариях в одном и том же файле функций:
No route matches {:action=>"show", :controller=>"movies"} (ActionController::RoutingError)
No route matches {:action=>"edit", :controller=>"movies"} (ActionController::RoutingError)
Файл features/support/paths.rb не работает в двух строках, где вызываются *movie_path* и *edit_movie_path*.
when /^the details page for (.*)/
mov= Movie.find_by_title($1)
movie_path(mov)
when /^the edit page for (.*)/
mov= Movie.find_by_title($1)
edit_movie_path(mov)
Я должен был как-то разгребать маршруты в тестовую среду? Я не уверен, что мне не хватает, поскольку он «выглядит», как будто все части на месте.
mov
соответствует вашим ожиданиям? Или этоnil
? - person Andrew Marshall   schedule 22.03.2012:)
. - person Andrew Marshall   schedule 22.03.2012