2012-03-28 181 views
1

在我的routes.rb我:Rails的嵌套资源和路径

resources :boards do 
    resources :items 
    end 
现在

在板#表明我要显示一个链接到http://mysite/baord/:board_id/items/new,运行rake routes我得到:

new_board_item GET /boards/:board_id/items/new(.:format)      items#new 

和所以我应该可以使用new_board_item_path但这只适用于site.com/board/:board_id/items,但我想在board中使用此链接#show action,但它告诉我:

No route matches {:action=>"new", :controller=>"items"} 

虽然这不是真的!

+5

你的主板传递到板项目?例如。 new_board_item_path(@board) – 2012-03-28 15:47:21

+0

我的错误错误是...如果您将评论转换为答案,我会接受它 – 2012-03-28 15:51:02

+0

很高兴我能帮上忙! :) – 2012-03-28 15:59:39

回答

1

传递父资源到路径,所以在这种情况下:

new_board_item_path(@board) 
+0

完美......只有一个问题:为什么在相同的情况下这不是必要的?例如,如果我想添加一个链接到项目#新的项目#索引的视图它的工作原理没有传递董事会的方法? – 2012-03-28 16:20:23