🫠
ActionController::UnknownFormat
🍍今の状況
<今回の理想>
検索したら下に検索結果が出るという感じにしたい
- 検索機能を作成していた。
↓ - 検索ボタンも表示されるようになったのでいざ!検索🔍と思ったらエラー
🍍エラー文からわかること
-
ActionController::UnknownFormat in UsersController#search
→ユーザーコントローラーsearchでフォーマットが見つからないよ -
UsersController#search is missing a template for this request format and variant.
→ユーザーコントローラーsearchでリクエストしてるフォーマットがないかなんか違うね
みたいなかんじ?つまり
🍍解決方法
表示させたいファイルの名前が適切であるか
スペルミスしてない?ファイルの位置をちゃんと表せるように記述してる?
ex) books/show なのに showのみしか記入していない
search後に表示したいファイルをちゃんと指定してるか
私の場合は今回こちらでした。
そのためrender :show
を追記しエラー表示はなくなりました🎉
users_controller.rb
def search
@user = User.find(params[:user_id])
@books = @user.books
@book = Book.new
if params[:created_at] == ""
@search_book = "日付を選択してください"
else
create_at = params[:created_at]
@search_book = @books.where(['created_at LIKE ? ', "#{create_at}%"]).count
end
render :show
end
🍍まとめ
今回は、検索結果のviwe先を記述していなかったからエラーが発生していたみたい。
viewを作らずに先にコントロールだけ設定してしまうときや今回のようなときによく発生するエラーみたい。
ちょっと記述したら、どういう動きするか確認しないとどこを書いちゃったからエラーがでてるのかわかんなくなっちゃうと思ってすぐ動きを確認していたけどその丁寧さもあだとなるときがあるんだね😟
エラー文が理解できるようになってきたらエラー見たらどこが悪かったのかすぐ分かるようになれるんだけどね💦
Discussion