Ruby on rails 用rspec测试嵌套路由

Ruby on rails 用rspec测试嵌套路由,ruby-on-rails,rspec,routes,Ruby On Rails,Rspec,Routes,我正试着用rspec测试路线。下面给出了一个错误“预期块返回真值” 我不确定我错过了什么。通过浏览器,我可以发布到这个网址,它是成功的 有什么想法吗?谢谢 路线 resources :forum_topics do resources :forum_sub_topics end 测试: 没有人正式回答我的问题,所以我会:) 归结起来就是:forum\u topic\u id=>1不等于:forum\u topic\u id=>“1”也许我的PHP日子已经悄悄地过去了。字符串和整数:)我知道

我正试着用rspec测试路线。下面给出了一个错误“预期块返回真值”

我不确定我错过了什么。通过浏览器,我可以发布到这个网址,它是成功的

有什么想法吗?谢谢

路线

resources :forum_topics do
  resources :forum_sub_topics
end
测试:


没有人正式回答我的问题,所以我会:)


归结起来就是:forum\u topic\u id=>1不等于:forum\u topic\u id=>“1”也许我的PHP日子已经悄悄地过去了。字符串和整数:)

我知道这可以归结为同一件事,但如果您想缩短代码,也可以:

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

我发现它更容易阅读。

试着用
-b
选项运行
rspec
,以获得错误的回溯。我认为
:forum\u topic\u id
实际上不会是一个整数。试试
:forum\u topic\u id=>“1”
Rob S有确切的答案,我也会试试-b,只是为了好玩。这个答案对我很有用:当我这么做时,id(1)需要是字符串“1”,这实际上对我很有用,而不是@recursive\u缩写词的答案。递归的答案似乎是看父控制器。无论如何,谢谢你的信息!
{ :post => "/forum_topics/1/forum_sub_topics" }.should route_to(:controller => "forum_sub_topics", :action => "create", :forum_topic_id => 1)
{ :post => "/forum_topics/1/forum_sub_topics" }.should route_to("forum_sub_topics#create", :forum_topic_id => 1)