Techioz Blog

Ruby on Rails リソース #index にリクエスト形式のテンプレートがありません: text/html

概要

ルートを計画するためのリソースの使い方に慣れようとしながら、 奇妙なエラーが発生しました:

インタラクティブなリクエスト用のテンプレートがありません

ShoppersController#index にリクエスト形式のテンプレートがありません: text/html

ルートマッピングは次のとおりです

ルート.rb

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

ショッパーズ_コントローラー.rb

class ShoppersController < ApplicationController

  def index 
  end

  def create
    @shopper = Shopper.new
  end

end

shoppers.html.erb

<h1>Welcome Shoppers</h1>

これを解決する方法を知っている人はいますか?

フィードバックをお寄せいただきありがとうございます。

解決策

ビューの名前が間違っているためです。あなたが受け取っているエラーが言うように:「Railsは、コントローラーにちなんで名付けられたフォルダーに含まれる同じ名前のテンプレートをレンダリングするアクションを期待しています」

したがって、あなたの場合、構造は次のようにする必要があります。

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