質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
Ruby on Rails 6

Ruby on Rails 6は、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

Q&A

解決済

1回答

434閲覧

ActiveRecord::StatementInvalid in Hotels#indexというエラーを解決したいです

sakai_1326

総合スコア3

Ruby on Rails 6

Ruby on Rails 6は、オープンソースのWebアプリケーションフレームワークです。「同じことを繰り返さない」というRailsの基本理念のもと、他のフレームワークより少ないコードで簡単に開発できるよう設計されています。

0グッド

0クリップ

投稿2022/12/06 12:43

前提

度々の質問失礼いたします。
Rubyでホテル検索サイトを作っている者です。
検索機能を付けて、自分で検索を行ったところ、以下のエラーが出てしまいました。

発生している問題・エラーメッセージ

Showing C:/Users/nekob/Desktop/travel/app/views/hotels/index.html.erb where line #13 raised: SQLite3::SQLException: no such column: body

該当のソースコード

<%= link_to "新規追加ページへ", new_hotel_path %> <div class="hotels-container"> <% @hotels.each do |t| %> <div class="hotel"> <%= t.user.email %> <%= t.name %>

試したこと

Resourceを使った直後にも同じエラーが出ましたが、indexページを手動で開かないことで防止していました。しかし、検索結果をindexから抽出するせいか、同じエラーが出るようになってしまいました。検索機能を付けるために、viewのコードは以下のように書いています。

<h3>宿泊先を検索</h3> <%= form_tag({controller:"hotels",action:"index"}, method: :get) do %> <%= text_field_tag :search %> <%= submit_tag '検索する' %> <% end %>

controllerのコードはこのように書いています。

def index if params[:search] == nil @hotels= Hotel.all elsif params[:search] == '' @hotels= Hotel.all else @hotels = Hotel.where("body LIKE ? ",'%' + params[:search] + '%') end end

補足情報(FW/ツールのバージョンなど)

Rails 6.1.7
Windows11

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

maisumakun

2022/12/06 14:18

エラーメッセージを素直に読むと、「bodyというカラムがありません」となるのですが、DB構造は確認してみましたか?
sakai_1326

2022/12/07 06:46

カラム名を例文と同じように打ってしまったために起こったエラーでした! 大変お騒がせ致しました……
guest

回答1

0

ベストアンサー

エラーの通り DB table に body カラムがないんじゃないでしょうか?

投稿2022/12/07 01:31

yuma.inaura

総合スコア1453

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

sakai_1326

2022/12/07 06:46

その通りで、カラム名を間違えて入力しておりました……あまりにも初歩のミスで恥ずかしい限りです。お教えいただきありがとうございました……!!
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問