質問編集履歴

2

論点をまとめ、スタイル等の余計な部分を少し取り除きました

2016/01/26 22:21

投稿

mannnakakunn
mannnakakunn

スコア24

test CHANGED
@@ -1 +1 @@
1
- ransackによる検索窓をナビゲーションバーに埋め込みつつ、deviseでのログイン機能を実現する方法について
1
+ deviseでのFirst argument in form cannot contain nil or be emptyエラーについて
test CHANGED
@@ -1,32 +1,26 @@
1
1
  ###前提・実現したいこと
2
+
3
+
2
4
 
3
5
  Youtubeで動画をスクレイピングしてまとめたサイトを作成しています。
4
6
 
5
7
  ransackで検索機能を、deviseでログインや、会員登録といったセッション関係の機能を導入しています。
6
8
 
7
-
8
-
9
- application.html.erbでナビゲーションバーにransackを用いたキーワード検索窓を埋め込した
9
+ application.html.erbでナビゲーションバーにransackを用いたキーワード検索窓を埋め込んでい
10
-
11
- 実現したいことは、その検索窓があることによって起こっていると思われるログインや会員登録などのセッションに関わるページへ移動する際に出るエラーの解消です。
12
10
 
13
11
 
14
12
 
15
- - 自分でった対処方法ついて
13
+ 実現したいことは、ログイン会員登録などのセッション関わるページへ移動する際に出るエラーの解消です。
16
14
 
17
15
 
18
16
 
17
+ ログインページ等を開こうとすると、
18
+
19
- ①No Ransack::Search object was provided to search_form_for!エラーについ
19
+ First argument in form cannot contain nil or be emptyというエラーが出きます。
20
20
 
21
21
 
22
22
 
23
- まず、session_controllerやregistration_controllerに@searchを定義しない状態で、ログインページ等へ行くと、「No Ransack::Search object was provided to search_form_for!エラーでてしまたので、deviseのsession_controllerとregistration_controllerのnewアクションに対し@searchの定義を行いましたこれでとりあえず、No Ransack::Search object was provided to search_form_for!のエラーは出てこなくなりました。
24
-
25
-
26
-
27
- ②次に、ログインページ等を開こうとすると、下記のエラーメッセージにあるように、フォームの最初の要素はnilは含んではいけないか、もしくはemptyではいけない、と怒られました。(First argument in form cannot contain nil or be empty)
28
-
29
- ここでの対処方法がわからず困っています。
23
+ こちらのエラーに対する対処方法わからず困っていま
30
24
 
31
25
 
32
26
 
@@ -56,29 +50,17 @@
56
50
 
57
51
  Extracted source (around line #7):
58
52
 
59
-
60
-
61
- <div style="font-size:1.2rem; font-weight:bold;">会員登録すると、お気に入り機能が使えます。</div>
62
-
63
53
 
64
54
 
65
- <div style="font-size:1rem;"><%= form_for(resource, as: resource_name, url: registration_path(resource_name)) do |f| %>
55
+ <%= form_for(resource, as: resource_name, url: registration_path(resource_name)) do |f| %>
66
56
 
67
57
  <%= devise_error_messages! %>
68
58
 
59
+
60
+
69
- </div>
61
+ ```
70
62
 
71
63
 
72
-
73
- ArgumentError in Users::Registrations#new
74
-
75
- Showing /Users/mannnakakunn/rails_projects/inuinudouga/app/views/devise/registrations/new.html.erb where line #7 raised:
76
-
77
-
78
-
79
-
80
-
81
- ```
82
64
 
83
65
  ```
84
66
 
@@ -94,15 +76,9 @@
94
76
 
95
77
 
96
78
 
97
- <div style="font-size:1.2rem; font-weight:bold;">DogTubeに登録すると、お気に入り機能が使えます。</div>
98
-
99
-
100
-
101
- <div style="font-size:1rem;"><%= form_for(resource, as: resource_name, url: registration_path(resource_name)) do |f| %>
79
+ <%= form_for(resource, as: resource_name, url: registration_path(resource_name)) do |f| %>
102
80
 
103
81
  <%= devise_error_messages! %>
104
-
105
- </div>
106
82
 
107
83
 
108
84
 
@@ -120,11 +96,9 @@
120
96
 
121
97
  <div class="navbar z-depth-0">
122
98
 
123
- <nav style="margin:15px 0 15px 0;" class="z-depth-0">
99
+ <nav>
124
100
 
125
- <div class="nav-wrapper" style="background-color:#FFF;">
101
+ <div class="nav-wrapper">
126
-
127
-
128
102
 
129
103
  <%= search_form_for @search do |f| %>
130
104
 
@@ -142,13 +116,7 @@
142
116
 
143
117
 
144
118
 
145
- <%= link_to "Top",dogs_path ,{ :'data-no-turbolink' => "true" ,:style => "
119
+ <%= link_to "Top",dogs_path ,{ :'data-no-turbolink' => "true" } %>
146
-
147
- font-family: 'Homemade Apple', cursive;
148
-
149
- font-weight:800; font-size:3rem;
150
-
151
- height:1.7rem; color:#333; margin:0 0 0 14%;" ,:class =>"" } %>
152
120
 
153
121
 
154
122
 
@@ -188,7 +156,7 @@
188
156
 
189
157
  def new
190
158
 
191
- @search = Dog.search(params[:q])
159
+ @search = Dog.search(params[:q])
192
160
 
193
161
  end
194
162
 
@@ -208,8 +176,8 @@
208
176
 
209
177
  Rails 4.2.2
210
178
 
211
- Ruby
179
+ Ruby 2.2.2
212
180
 
213
- devise
181
+ devise '3.4.0'
214
182
 
215
183
  ransack

1

タイトル、ソースコードの修正

2016/01/26 22:21

投稿

mannnakakunn
mannnakakunn

スコア24

test CHANGED
@@ -1 +1 @@
1
- ransackによる@searchモデルを、deviseによsession controllerに認識させる方法
1
+ ransackによる検索窓ナビゲーションバーに埋め込みつつ、deviseでのログイン機能を実現する方法について
test CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  Youtubeで動画をスクレイピングしてまとめたサイトを作成しています。
4
4
 
5
- ransackで検索機能を、deviseでセッション関係の機能を導入しています。
5
+ ransackで検索機能を、deviseでログインや、会員登録といったセッション関係の機能を導入しています。
6
6
 
7
7
 
8
8
 
@@ -20,15 +20,13 @@
20
20
 
21
21
 
22
22
 
23
- 最初にログインページ等へ行くと、「@searchなんて知らないといわれてしまったので、deviseのsession_controllerとregistration_controllerのnewアクションに対して@searchの定義を行いました。これでとりあえず、No Ransack::Search object was provided to search_form_for!のエラーは出てこなくなりました。
24
-
25
-
26
-
27
- ②次に、ログインページ等を開こうとすると、フォームの最初の要素はnilは含んではいけないか、もしくはemptyではいけない、と怒られました。(First argument in form cannot contain nil or be empty)
28
-
29
- セッション関係には、なにも触った自覚がなかった対処方がわからず困っています。
30
-
31
-
23
+ まず、session_controllerやregistration_controller@searchを定義しない状態で、ログインページ等へ行くと、「No Ransack::Search object was provided to search_form_for!エラーがでてしまったので、deviseのsession_controllerとregistration_controllerのnewアクションに対して@searchの定義を行いました。これでとりあえず、No Ransack::Search object was provided to search_form_for!のエラーは出てこなくなりました。
24
+
25
+
26
+
27
+ ②次に、ログインページ等を開こうとすると、下記のエラーメッセージにあるように、フォームの最初の要素はnilは含んではいけないか、もしくはemptyではいけない、と怒られました。(First argument in form cannot contain nil or be empty)
28
+
29
+ ここでの対処方がわからず困っています。
32
30
 
33
31
 
34
32
 
@@ -36,8 +34,6 @@
36
34
 
37
35
 
38
36
 
39
-
40
-
41
37
  ###発生している問題・エラーメッセージ
42
38
 
43
39
 
@@ -182,7 +178,7 @@
182
178
 
183
179
 
184
180
 
185
- # registration.rb
181
+ # registration_controller.rb
186
182
 
187
183
 
188
184