こちらのエラーはアクションに対応するViewファイルが無い場合に出るエラーです。
単純にスペルミスをしていることが多いので対応するViewファイルがあるかを確認しましょう。
エラーの一行目から得られる情報は、コントローラ名とアクション名です。
ActionController::UnknownFormat in コントローラ名#アクション名
対応するViewファイルは特に指定が無い場合は以下になります。
app/views/コントローラ名/アクション名.html.erb
つまり今回の画像の場合は「app/views/posts/index.html.erb」ファイルが無いためのエラーという事になりますね。
もしコントローラでViewを指定しているのでしたらそのViewを用意しましょう。
class PostsController < ApplicationController def index render "hoges/hige" end end
このようにviewを指定している場合は対応するviewファイルを用意しましょう。
上記例では「app/views/hoges/hige.html.erb」を用意すれば良いですね。
PostsController#index is missing a template for this request format and variant.
コントローラのアクションはViewをレンダリング(描画)します。コントローラから呼ばれるViewはテンプレート(ひな型)と呼ばれたりしますので覚えておきましょう。
エラーの2行目からもテンプレートが無いという内容が読み取れますね。
For XHR/Ajax or API requests, this action would normally respond with 204 No Content: an empty white screen. Since you're loading it in a web browser, we assume that you expected to actually render a template, not nothing, so we're showing an error to be extra-clear. If you expect 204 No Content, carry on. That's what you'll get from an XHR or API request. Give it a shot.
XHR/AJAXという非同期処理の場合はViewを空白ページで応答しますが、ブラウザではテンプレートを表示することを想定している(HMTLレスポンスを返す)のでエラーが出るという内容も書かれています。この辺りは非同期処理を理解している必要がありますが、ブラウザでエラーが出ているのでしたらそれはテンプレートファイルが無いという事です。
ブラウザでこのエラーを解消するには対応するViewを作成してください。