除了其他人已经说过的之外,还有一些事情:
magazines_path 是最有可能指向索引页面的链接名称。
<%= link_to "Magazines", magazines_path %>
所以这应该可以解决问题。但是如果你想查看路由,我建议你运行rake routes,它将列出 Rails 正在考虑的任何有效路由名称。如果您想了解它们是如何使用的,请查看您的脚手架的视图页面。比如app/views/magazines/show.html.erb,底部可能有这样的东西:
<%= link_to 'Edit', edit_magazine_path(@magazine) %> |
<%= link_to 'Back', magazines_path %>
编辑链接转到存储在@magazine 中的杂志的edit 页面(/magazines/[ID]/edit),返回链接转到索引页面(/magazines/)。单个杂志的显示页面为magazine_path(@magazine),新路径为new_magazine_path(@magazine)。
您绝对应该查看其他人发布的资源——Rails 路由很灵活但非常“神奇”——但无论如何,这应该有助于为您提供一些背景信息。
此外,这应该是自动生成的,但我认为大多数人都假设您的 config/routes.rb 包含以下内容:
My::Application.routes.draw do
resources :magazines
resources :users
# or the above combined as resources :magazines, :users
end
这就是告诉 Rails 为特定资源构建索引、新建、编辑、显示、创建、更新、销毁的基本路线。