Q&A
railsの検索について質問があります。
最初の画面読み込み時に記事を5件表示、その後画面上で検索をかけると記事が絞り込まれる
画面を作りたいです。
以下のコードではtopコントローラーで変数serachがあれば検索、それ以外は5件表示と書いたのですが
「undefined local variable or method `serach' 」と出てうまく行きません。
こちら何か追い方法はありますでしょうか。
・コントローラー def top if serach.empty? @articles = Post.search(params[:search]) else @articles = Post.order(created_at: :asc) @articles = Post.page(params[:page]).per(5) end end ・ビュー <form role="search" method="get" id="searchform"class="header-search" action="top"> <input type="text" value="" name="search"> <button type="submit" class=".btn-primary" value="検索"></button> </from> <% @articles.each do |article| %> <%= link_to article.body, article.name %> <% end %> ・post.rb class Post < ApplicationRecord def self.search(search) return Post.all unless search Post.where(['body LIKE ?', "%#{search}%"]) end end
回答2件
下記のような回答は推奨されていません。
このような回答には修正を依頼しましょう。