我正在努力制作我的第一个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
答案 0 :(得分:2)
如果您检查路线,您会注意到帖子#index action映射到/ posts,而不是post / index。
这里发生的是/ posts / index正在变为mappend到/ posts /:id,索引被设置为id。通过GET请求,它将映射到show动作。