????RoRにて投稿機能を利用した掲示板にて検索機能をRansackで追加実装しています。
(Ransackを初めて使ったので至らない点がある場合は申し訳ありません・・)
挙動
## 実装したいこと
index.html.erbから検索フォームを利用し、検索すると検索結果がフォームの下に出力される。
現在の挙動
検索機能自体には問題ないのですが、
indexhtml.erbに遷移すると検索対象としているカラムの値が羅列されている状態です。
その状態から検索フォームで検索をすると検索結果のみ表示されます。
仮説
if文の分岐に原因があると考え、each doで全て表示されてしまっているのかと考えますが
他に記述方法がわかりません。
同様のエラー記事等は確認しましたが、エラー箇所が異なるように思い解決には至りませんでした。
ご教示いただけますと幸いです。
コード
/topic_controller.erb def index @search = Topic.ransack(params[:q]) @results = @search.result(distinct: true) end
/index.html.erb <div class="search"> <%= search_form_for @search do |f| %> <div class="search-form"> <%# <%= f.label :title_cont, "Name" %> <%= f.text_field :title_cont, placeholder: "コンテンツを検索する" %> <%= f.submit "Search" %> </div> <% end %> <% if @results.any? %> <% @results.each do |result| %> <%= link_to result.title, topic_path(result.id) %> <% end %> <% else %> <p>キーワードを含む投稿を検索できませんでした</p> <% end %> </div>
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/09/23 07:34
2020/09/23 08:59
2020/09/25 08:17