前提
度々の質問失礼いたします。
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
回答1件
あなたの回答
tips
プレビュー