为什么我需要'show.html.erb'模板才能转到'... / posts / index'?

时间:2015-04-12 20:39:29

标签: ruby-on-rails ruby

我正在努力制作我的第一个Ror应用程序,这是我的第一个问题:)

当我转到localhost:3000 / posts / index时,我收到消息'缺少模板帖子/显示,应用程序/显示{:locale ...'为什么会这样?为什么我需要针对posts / index的show.html.erb模板?

routes.rb档案

Rails.application.routes.draw do
  resources :posts
  root 'posts#index'
end

$rake routes命令之后的路由:

   Prefix Verb    URI Pattern            Controller#Action
    posts GET    /posts(.:format)          posts#index
          POST   /posts(.:format)          posts#create
 new_post GET    /posts/new(.:format)      posts#new
edit_post GET    /posts/:id/edit(.:format) posts#edit
     post GET    /posts/:id(.:format)      posts#show
          PATCH  /posts/:id(.:format)      posts#update
          PUT    /posts/:id(.:format)      posts#update
          DELETE /posts/:id(.:format)      posts#destroy
     root GET    /                         posts#index

1 个答案:

答案 0 :(得分:2)

如果您检查路线,您会注意到帖子#index action映射到/ posts,而不是post / index。

这里发生的是/ posts / index正在变为mappend到/ posts /:id,索引被设置为id。通过GET请求,它将映射到show动作。