Ruby Rails 资源 #index 缺少请求格式模板:text/html

Ruby on Rails resources #index is missing a template for request formats: text/html

在尝试熟悉使用资源规划路线的同时, 我遇到了一个奇怪的错误:

没有交互式请求的模板

ShoppersController#index 缺少请求格式的模板:text/html

这是路由映射

routes.rb

Rails.application.routes.draw do
 resources :shoppers 
end

shoppers_controller.rb

class ShoppersController < ApplicationController

  def index 
  end

  def create
    @shopper = Shopper.new
  end

end

shoppers.html.erb

<h1>Welcome Shoppers</h1>

有人知道怎么解决吗?

感谢您分享的所有反馈。

这是因为你的视图名称有误。正如您收到的错误所说:'Rails expects an action to render a template with the same name contained in a folder named after its controller'

所以在你的情况下,结构需要是:

  • 应用
    • 控制器
      • shoppers_controller.rb
    • 观看次数
      • 购物者
        • index.html.erb
        • new.html.erb

参考:https://guides.rubyonrails.org/layouts_and_rendering.html#rendering-by-default-convention-over-configuration-in-action

使用控制器中的操作名称创建一个视图!