Тестирование вложенных маршрутов с помощью rspec

Я пытаюсь проверить маршруты с помощью rspec. Ниже приведена ошибка "Ожидаемый блок для возврата истинного значения".

Я не уверен, что мне не хватает. Через браузер я могу отправить сообщение на этот URL-адрес и успешно.

Любые идеи? Спасибо!

Маршруты

resources :forum_topics do
  resources :forum_sub_topics
end

Тест:

it "recognizes and generates nested #create" do
  { :post => "/forum_topics/1/forum_sub_topics" }.should route_to(:controller => "forum_sub_topics", :action => "create", :forum_topic_id => 1)
end

Ответ 1

Ну, никто официально не ответил на мой вопрос, поэтому я:)

{ :post => "/forum_topics/1/forum_sub_topics" }.should route_to(:controller => "forum_sub_topics", :action => "create", :forum_topic_id => 1)

Доходит до: forum_topic_id = > 1, не равного: forum_topic_id = > "1" Возможно, мои PHP-дни подкрались, чтобы укусить меня. Строки и целые числа:)

Ответ 2

Я знаю, что это сводится к тому же, но если вы хотите сократить свой код, вы также можете сделать:

{ :post => "/forum_topics/1/forum_sub_topics" }.should route_to("forum_sub_topics#create", :forum_topic_id => 1)

Мне легче читать.