1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Rails where like を使った検索機能の実装が上手くできない

Posted at

#環境・前提条件
rails ~> 5.1.4
cloud9

#やりたい事
Postモデル一覧ページにフォームを設置し、検索機能の実装を行いたいと思います。
Postにはdateカラムで'2018-08-13'のようなデータが格納してあり、
フォームではそこから'2018-08'(年と月のみ)を指定して、
それに合致するPostを一覧表示したいと思ってます。

#起こっていること
フォームで年と月を指定し、検索ボタンを押しても何も結果が返ってきません。

#試した改善策
routesをpostからgetに変更してみましたが
結果は同じくです。

post_controller.rb
  def search
    @post = Post.where('date like ?', '%#{params[:date]}%')
    render "index"
  end
index.html.erb
 
<div class="contents" "form-group">
  <%= form_tag('/search')do %>
     <div class="form-group"> 
    <input type="month" name="date" id="date" class="form-control name" placeholder="検索">
     </div>
     <input type="submit" value="検索" class="btn btn-primary")>
  <% end %>
</div>
   
<div class="row mt-3">
 <% @post.each do|post| %>
   <div class="card col-12 col-md-3">
        <h5><%= post.title %></h5>
        <h6>日付:<%= post.date %></h6>
         <p><%= link_to("内容を見る","/show/#{post.id}") %></p>
   </div>
 <% end %>
</div>
routes.rb
  post "/search" => "post#search"

もしコードのミスなどお分かりになる方いましたら教えてください。

1
0
3

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
1
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?