Я столкнулся с этим непрозрачным сообщением об ошибке, а также с Rails 3 и Ruby 1.9.2.Причина в моем случае заключалась в том, что я использовал старую версию minitest, которая поставляется с Ruby, и в этой версии метод assert_block (вызывается assert_recognizes в ActionDispatch :: Assertions :: RoutingAssertions) не отображает сообщение об ошибке (как маршрутизацияпараметры не совпадают).Для меня исправлением было добавить мини-тест в мой Gemfile и установить его через упаковщик:
group :test do
gem "minitest", ">= 2.6.1" # The minitest version that ships with Ruby is old and has bugs
end
Затем я получил бы более понятное сообщение об ошибке:
The recognized options <{"action"=>"index",
"controller"=>"publish/product_versions",
"product_id"=>"ipad_app"}> did not match <{"controller"=>"publish/product_versions",
"action"=>"indexx",
"product_id"=>"ipad_app"}>, difference: <{"action"=>"indexx"}>.
Expected block to return true value.