前提・実現したいこと
railsで検索フォームを作っています。
「検索フォームページ」で条件を入力後、検索ボタンを押すと、「検索結果ページ」がrenderされるようにしたいです。
↓検索フォームページ(search_page.html.erb)
<%= form_with url: oba_searching_path, method: (:get) do |f| %> <li><%= f.datetime_select :start_time, :minute_step => 15 %></li>から <li><%= f.datetime_select :end_time, :minute_step => 15 %></li> <li><%= f.submit '検索' %></li> <% end %>
↓searchings_controller.rb
class Oba::SearchingsController < ApplicationController def searching start_time = Time.zone.local(params["start_time(1i)"].to_i, params["start_time(2i)"].to_i, params["start_time(3i)"].to_i, params["start_time(4i)"].to_i, params["start_time(4i)"].to_i) end_time = Time.zone.local(params["end_time(1i)"].to_i, params["end_time(2i)"].to_i, params["end_time(3i)"].to_i, params["end_time(4i)"].to_i, params["end_time(5i)"].to_i) @shift = Shift.new @shifts = @shift.matches(start_time, end_time) render :results end end
↓検索結果ページ(results.html.erb)
<% @shifts.each do |shift|%> <%= shift.id %> <% end %>
発生している問題・エラーメッセージ
検索ボタンを押した時の、ターミナルの表示はこうです。
Started GET "/oba/searching?utf8=%E2%9C%93&%5Bstart_time(1i)%5D=2019&%5Bstart_time(2i)%5D=3&%5Bstart_time(3i)%5D=2&%5Bstart_time(4i)%5D=01&%5Bstart_time(5i)%5D=00&%5Bend_time(1i)%5D=2019&%5Bend_time(2i)%5D=3&%5Bend_time(3i)%5D=2&%5Bend_time(4i)%5D=08&%5Bend_time(5i)%5D=00&commit=%E3%82%B9%E3%82%BF%E3%83%83%E3%83%95%E3%82%92%E6%8E%A2%E3%81%99" for 127.0.0.1 at 2019-03-02 10:42:41 +0900 Processing by Oba::SearchingsController#searching as JS Parameters: {"utf8"=>"✓", "start_time(1i)"=>"2019", "start_time(2i)"=>"3", "start_time(3i)"=>"2", "start_time(4i)"=>"01", "start_time(5i)"=>"00", "end_time(1i)"=>"2019", "end_time(2i)"=>"3", "end_time(3i)"=>"2", "end_time(4i)"=>"08", "end_time(5i)"=>"00", "commit"=>"スタッフを探す"} User Load (0.2ms) SELECT `users`.* FROM `users` WHERE `users`.`id` = 6 LIMIT 1 ↳ app/helpers/sessions_helper.rb:27 Rendering oba/searchings/results.html.erb within layouts/application Shift Load (0.4ms) SELECT `shifts`.* FROM `shifts` WHERE (start_time <= '2019-03-02 01:01:00') AND (end_time >= '2019-03-02 08:00:00') ↳ app/views/oba/searchings/results.html.erb:1 Rendered oba/searchings/results.html.erb within layouts/application (1.4ms) Completed 200 OK in 57ms (Views: 38.9ms | ActiveRecord: 2.8ms)
最後、Rendered oba/searchings/results.html.erb
となっているのに、ブラウザでは検索フォームページから何も変わりません。
また、コメントアウトになってしまっていますが、2行目のProcessing by Oba::SearchingsController#searching as JS
が気になっています。
なんでJSになるのかわかりません。
試したこと
試したことというか・・・
初めは、検索フォームページのsubmitの隣にremote trueとしていましたが(初めはAJAX使おうとしていたが、途中でやっぱりやめた)、消しました。
消しきれていないのか・・・
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2019/03/02 02:14
2019/03/02 02:37
2019/03/02 02:41
2019/03/02 03:08