2010-10-28 116 views
7

我有一个嵌套的资源,建立这样的:Rspec2和Rails 3 - 查看规格路由嵌套资源

resources :chickens do 
     resources :eggs 
end 

为EggsController的意见是在视图/鸡蛋,但:

describe "eggs/index.html.erb" do 

给出了一个“无路线匹配{:动作=>”创建“,:控制器=>”鸡蛋“}调用渲染时的错误,我该如何获得RSpec查找视图规格的正确(嵌套)路线?

作为一个便笺,有没有如何为Rails 3控制器脚手架生成器指定嵌套资源?

+0

谈及时 - 您是否找到关于发电机的第二个问题的答案? – Brian 2010-11-09 21:11:04

+0

我没有及时发现任何东西,我真的可以找到一个非常旧的项目:https://github.com/phorsfall/rspec_on_rails_nested_scaffold – 2010-11-10 15:11:28

回答

2

测试看起来不错,我...

以任何机会,你有一个表单上创建新蛋可能没有被正确连接好鸡蛋/ index.html.erb?它似乎可能试图呈现索引视图,但失败,因为视图试图建立一个不存在的路线?你需要确保表单使用了正确的嵌套资源路由。当您在浏览器中加载视图时,视图是否呈现?

+0

你说得对,问题是在视图上添加新链接(删除删除失败),但路径(new_chicken_egg_path)在浏览器中工作。顺便说一下,我在规范中做了assign(:chicken,@chicken),而不是将路径明确地作为参数。 params [:chicken_id] = @chicken也正在设置中。我碰巧使用了factory_girl。 – 2010-10-28 17:07:18

+0

啊。我正在使用form_for([@ chicken,@egg]),所以我会仔细检查这是否正常。 – 2010-10-28 17:14:49

+0

现在好了。开始为新建立一条无路由,但只是将@chicken添加为new_chicken_egg_path方法的参数。谢谢! – 2010-10-28 17:18:59