・今現在、whereで検索した結果以外もviewで一致したワードの下に表示したいと考えています。しかし、そのやり方がわからない状態にいます。(コントローラのwhereの処理の後に、追加必要があると思うのですが、なにを加えればいいのかわからない状態にいます。)
・もしわかる方がいらしたら、教えて頂けたら、嬉しいです。
controller/plans_controller.rb
controller
1 def index 2 if Plan.find_by(title: params[:title]).blank? 3 @plans = Plan.includes(:guider).page(params[:page]).per(5).order("created_at DESC") 4 else 5 @plans = Plan.where(['title LIKE ?', "%#{params[:title]}%"]).page(params[:page]).per(5).order("created_at DESC") 6 end 7 end
view/index.html.erb
view
1 <div class="contents row"> 2 <% @plans.each do |plan| %> 3 <div class="content_post" style="background-image: url(<%= plan.image %>);"> 4 <div class="more"> 5 <span><%= image_tag 'arrow_top.png' %></span> 6 <ul class="more_list"> 7 <li> 8 <%= link_to 'detail', "/plans/#{plan.id}", method: :get %> 9 </li> 10 <% if guider_signed_in? && current_guider.id == plan.guider_id %> 11 <li> 12 <%= link_to '編集', "/plans/#{plan.id}/edit", method: :get %> 13 </li> 14 <li> 15 <%= link_to '削除', "/plans/#{plan.id}", method: :delete %> 16 </li> 17 <% end %> 18 </ul> 19 </div> 20 <%= simple_format(plan.title) %> 21 <span class="name"> 22 <a href="/guiders/<%= plan.guider_id %>"> 23 <span>guider</span><%= plan.guider.nickname %> 24 </a> 25 </span> 26 </div> 27 <% end %> 28 <%= paginate(@plans) %> 29</div>
あなたの回答
tips
プレビュー