環境・前提条件
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件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/01/20 07:54