teratail header banner
teratail header banner
質問するログイン新規登録

質問編集履歴

3

フッターでの結果追記

2018/09/26 00:11

投稿

zendendo
zendendo

スコア43

title CHANGED
File without changes
body CHANGED
@@ -109,5 +109,25 @@
109
109
  </form>
110
110
  ```
111
111
 
112
+ その一方で、ヘッダーと同じく全体に表示するフッター部分テンプレートでは以下のコードでうまくいっています。
113
+ app/views/layouts/_footer.html.erb
114
+ ```ここに言語を入力
115
+ <footer class="footer">
116
+ <nav>
117
+ <ul>
118
+ <li><%= link_to "About", '#' %></li>
119
+ </ul>
120
+ </nav>
121
+ <!-- 検索フォーム-->
122
+ <%= form_for @search_form5, url: item_stocks_path, method: :get do |f| %>
123
+ <%= f.text_field :all_search, class: 'form-control', placeholder: 'アイテム名検索テスト中' %>
124
+ <%= button_tag sanitize('<i class="glyphicon glyphicon-search"></i>'), :type => "submit",:class =>"btn btn-default" %>
125
+ <% end %>
126
+ </footer>
127
+ ```
128
+
129
+
130
+
112
- 一応この状態でも、当初の目標を満たすことはできるのですが、
131
+ 一応ヘッダーがこの状態でも、当初の目標を満たすことはできるのですが、
132
+ フッターではうまくいくのに、
113
- 目の検索フォームでリダイレクトが失敗する原因がよわかず困っています。
133
+ ヘッダーで2つ検索フォームをつくらとうくいかない原因が不可解です。

2

内容追記、段落追加

2018/09/26 00:11

投稿

zendendo
zendendo

スコア43

title CHANGED
File without changes
body CHANGED
@@ -1,3 +1,4 @@
1
+ ###目標・実現したいこと
1
2
  ruby(ruby on rails)で、全てのページに表示するグローバルナビ(ヘッダー)に検索窓を設置して、
2
3
  投稿したものを検索できるようにしたいと考えています。
3
4
 
@@ -7,13 +8,14 @@
7
8
  **グローバルナビで検索を行った場合・・・
8
9
  検索ボタンを押すと投稿一覧のページに飛んで、検索結果が表示されるようにしたいのです**。
9
10
 
11
+ ###問題点
10
12
  しかし、
11
13
  **検索ボタンを押しても検索結果を表示する投稿一覧のページにリダイレクトせず、検索したページのままで困っています**。
12
14
  エラー表示もありません。
13
15
  URLを見ると、検索用のパラメータは作成されているみたいです。
14
16
  http://localhost:3000/users/edit?utf8=%E2%9C%93&item_search_form%5Ball_search%5D=%E6%A4%9C%E7%B4%A2%E3%83%86%E3%82%B9%E3%83%88&button=
15
17
 
16
-
18
+ ###現状のコード
17
19
  現状のコードを説明すると・・・
18
20
  フォームオブジェクトに検索機能を書きました。検索対象は、投稿(ItemStock)モデルだけとしています。
19
21
  /app/forms/item_search_form.rb
@@ -56,17 +58,56 @@
56
58
  layouts/viewの_header.html.erbには、
57
59
  リダイレクト先のurlにitem_stockのindexページ(item_stocks_path)を指定してform_forを書きました。
58
60
 
59
- /app/views/layouts/_header.html.erb(グローバルナビ)から検索フォム部分だけ抜粋
61
+ /app/views/layouts/_header.html.erb(グローバルナビの共通テンプレト)
62
+
63
+ ```ここに言語を入力
64
+ <nav class="navbar navbar-fixed-top">
65
+ <div class="container">
66
+ <div class="navbar-header">
67
+ <button class="navbar-toggle collapsed" data-toggle="collapse" data-target="#mobile_menu_header1">menu <i class='glyphicon glyphicon-align-justify'></i></button>
68
+ <%= link_to "サービス名ロゴ", root_path, id: "logo" %>
69
+ </div>
70
+
71
+ <div class="collapse navbar-collapse" id="mobile_menu_header1"><!-- ハンバーガーメニュー格納 -->
72
+ <form class="navbar-form navbar-left" role="search">
73
+ <span class="form-group">
74
+ <!--問題の検索フォーム部分、item_stocks_pathにリダイレクトしてくれない -->
75
+ <% @search_form = ItemSearchForm.new unless @search_form %>
76
+ <%= form_for @search_form5, url: item_stocks_path, method: :get do |f| %>
77
+ <%= f.text_field :all_search, class: 'form-control', placeholder: 'アイテム名検索テスト中' %>
78
+ <%= button_tag sanitize('<i class="glyphicon glyphicon-search"></i>'), :type => "submit",:class =>"btn btn-default" %>
79
+ <% end %>
80
+ </span>
81
+ </form>
82
+
83
+ </div><!-- ここまで格納機能に格納する内容 -->
84
+ </div>
85
+ </nav>
60
86
  ```
87
+
88
+ **おそらくビューに問題の原因があり、リダイレクト先のURLを指定してあげれば大丈夫だと思ったのですが、ダメみたいです。**
89
+ もし解決方法を知っているならば、教えて頂ければ幸いです。
90
+
91
+
92
+ ###追記
93
+ ビュー(app/views/layouts/_header.html.erb)に2つの検索フォームを作成して試したところ、
94
+ 1つ目はリダイレクトせず、
95
+ 2つ目はリダイレクトに成功しました。
96
+ ```ここに言語を入力
61
- <form class="navbar-form navbar-left" role="search"><!-- 左側に検索窓(入力フォーム)を設置 -->
97
+ <form class="navbar-form navbar-left" role="search"><!-- 左側に検索窓(入力フォーム)を設置 -->
62
98
  <span class="form-group">
99
+       <!--一つ目の検索フォーム、なぜかリダイレクトには失敗 -->
63
100
  <%= form_for @search_form5, url: item_stocks_path, method: :get do |f| %>
64
- <%= f.text_field :all_search, class: 'form-control', placeholder: '投稿を検索' %>
65
- <%= button_tag sanitize('<i class="glyphicon glyphicon-search"></i>'), :type => "submit",:class =>"btn btn-default" %><!-- 検索アイコンボタンを表示 -->
66
101
  <% end %>
102
+ <!--2つ目の検索フォーム、リダイレクトに成功 -->
103
+ <% @search_form = ItemSearchForm.new unless @search_form %>
104
+ <%= form_for @search_form5, url: item_stocks_path, method: :get do |f| %>
105
+ <%= f.text_field :all_search, class: 'form-control', placeholder: 'アイテム名検索テスト中' %>
106
+ <%= button_tag sanitize('<i class="glyphicon glyphicon-search"></i>'), :type => "submit",:class =>"btn btn-default" %><!-- 検索アイコンボタンを表示 -->
107
+ <% end %>
67
108
  </span>
68
109
  </form>
69
110
  ```
70
111
 
71
- **ビューにはリダイレクト先のURLを指定してあるので大丈夫だと思ったのですが、ダメみたいです。**
72
- し解決方法知っていならば、教えて頂ければ幸いです
112
+ 一応この状態で、当初の目標満たすことはできですが、
113
+ 1つ目の検索フォームでリダイレクトが失敗する原因がよくわからず困っています。

1

追記

2018/09/25 23:55

投稿

zendendo
zendendo

スコア43

title CHANGED
File without changes
body CHANGED
@@ -3,12 +3,12 @@
3
3
 
4
4
 
5
5
  例えば、投稿一覧(http://localhost:3000/item_stocks)とは関係ない
6
- ユーザー設定のページ(http://localhost:3000/users/edit)
6
+ ユーザー設定のページ(http://localhost:3000/users/edit)で表示されている
7
- グローバルナビで検索を行った場合・・・
7
+ **グローバルナビで検索を行った場合・・・
8
- 検索ボタンを押すと投稿一覧のページに飛んで、検索結果が表示されるようにしたいのです。
8
+ 検索ボタンを押すと投稿一覧のページに飛んで、検索結果が表示されるようにしたいのです**
9
9
 
10
10
  しかし、
11
- 検索ボタンを押しても投稿一覧のページにリダイレクトせず、検索したページのままで困っています。
11
+ **検索ボタンを押しても検索結果を表示する投稿一覧のページにリダイレクトせず、検索したページのままで困っています**
12
12
  エラー表示もありません。
13
13
  URLを見ると、検索用のパラメータは作成されているみたいです。
14
14
  http://localhost:3000/users/edit?utf8=%E2%9C%93&item_search_form%5Ball_search%5D=%E6%A4%9C%E7%B4%A2%E3%83%86%E3%82%B9%E3%83%88&button=
@@ -28,7 +28,7 @@
28
28
  end
29
29
  end
30
30
  ```
31
-
31
+ 全ての画面から行えるようにしたかったので、
32
32
  applicationコントローラーに、検索用のパラメータと検索情報の受け渡しについて書きました。
33
33
  app/controllers/application_controller.rb
34
34
  ```ruby
@@ -56,7 +56,7 @@
56
56
  layouts/viewの_header.html.erbには、
57
57
  リダイレクト先のurlにitem_stockのindexページ(item_stocks_path)を指定してform_forを書きました。
58
58
 
59
- /app/views/layouts/_header.html.erbから検索フォーム部分だけ抜粋
59
+ /app/views/layouts/_header.html.erb(グローバルナビ)から検索フォーム部分だけ抜粋
60
60
  ```
61
61
  <form class="navbar-form navbar-left" role="search"><!-- 左側に検索窓(入力フォーム)を設置 -->
62
62
  <span class="form-group">
@@ -68,5 +68,5 @@
68
68
  </form>
69
69
  ```
70
70
 
71
- ビューにはリダイレクト先のURLを指定してあるので大丈夫だと思ったのですが、ダメみたいです。
71
+ **ビューにはリダイレクト先のURLを指定してあるので大丈夫だと思ったのですが、ダメみたいです。**
72
72
  もし解決方法を知っているならば、教えて頂ければ幸いです。