質問編集履歴
2
論点をまとめ、スタイル等の余計な部分を少し取り除きました
test
CHANGED
@@ -1 +1 @@
|
|
1
|
-
|
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
|
-
|
19
|
+
First argument in form cannot contain nil or be emptyというエラーが出てきます。
|
20
20
|
|
21
21
|
|
22
22
|
|
23
|
-
|
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
|
-
<
|
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
|
-
|
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
|
-
<
|
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
|
99
|
+
<nav>
|
124
100
|
|
125
|
-
<div class="nav-wrapper"
|
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"
|
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
|
-
|
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
タイトル、ソースコードの修正
test
CHANGED
@@ -1 +1 @@
|
|
1
|
-
ransackによる
|
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
|
-
|
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
|
|