質問編集履歴
11
質問内容の修正
test
CHANGED
File without changes
|
test
CHANGED
@@ -144,6 +144,6 @@
|
|
144
144
|
|
145
145
|
そのタイムゾーンをセットした上で個別のコントローラーに処理を yield するというトップレベルの処理の中で
|
146
146
|
|
147
|
-
ログインユーザを取得する部分でおきてるエラーみたいで
|
147
|
+
ログインユーザを取得する部分で本当に最初の最初でおきてるエラーみたいで
|
148
148
|
|
149
149
|
他のコントローラーのページを表示しても同じエラーになります
|
10
質問内容の修正
test
CHANGED
File without changes
|
test
CHANGED
@@ -142,7 +142,7 @@
|
|
142
142
|
|
143
143
|
処理としてはログインユーザごとにタイムゾーン情報を保持していて
|
144
144
|
|
145
|
-
そのタイムゾーンをセットした上で個別のコントローラー
|
145
|
+
そのタイムゾーンをセットした上で個別のコントローラーに処理を yield するというトップレベルの処理の中で
|
146
146
|
|
147
147
|
ログインユーザを取得する部分でおきてるエラーみたいで
|
148
148
|
|
9
追記
test
CHANGED
File without changes
|
test
CHANGED
@@ -137,3 +137,13 @@
|
|
137
137
|
|
138
138
|
|
139
139
|
![エラー画面](b0714b0fb75716f05113a467b3234310.png)
|
140
|
+
|
141
|
+
|
142
|
+
|
143
|
+
処理としてはログインユーザごとにタイムゾーン情報を保持していて
|
144
|
+
|
145
|
+
そのタイムゾーンをセットした上で個別のコントローラーを処理するというトップレベルの処理の中で
|
146
|
+
|
147
|
+
ログインユーザを取得する部分でおきてるエラーみたいで
|
148
|
+
|
149
|
+
他のコントローラーのページを表示しても同じエラーになります
|
8
質問内容の修正
test
CHANGED
File without changes
|
test
CHANGED
@@ -58,7 +58,7 @@
|
|
58
58
|
|
59
59
|
|
60
60
|
|
61
|
-
追記:
|
61
|
+
### 追記:
|
62
62
|
|
63
63
|
|
64
64
|
|
7
質問内容の修正
test
CHANGED
File without changes
|
test
CHANGED
@@ -53,3 +53,87 @@
|
|
53
53
|
せめて `wrong number of arguments (3 for 2)` を
|
54
54
|
|
55
55
|
起こしているメソッド箇所を特定する方法はないものでしょうか
|
56
|
+
|
57
|
+
|
58
|
+
|
59
|
+
|
60
|
+
|
61
|
+
追記:
|
62
|
+
|
63
|
+
|
64
|
+
|
65
|
+
他にもメソッドはいろいろあるのですが関係ありそうなコードはこれだけです
|
66
|
+
|
67
|
+
そもそもこのファイル自体は数ヶ月変更されていなくて
|
68
|
+
|
69
|
+
いままでも yield 先の各コントローラーで出たエラーが set_time_zone の箇所で出ることが度々あって
|
70
|
+
|
71
|
+
エラーメッセージの中身で予想ができてたのですが
|
72
|
+
|
73
|
+
今回の場合メッセージからでは該当箇所が推測できないため
|
74
|
+
|
75
|
+
どうデバッグすればいいのかわからず困っています
|
76
|
+
|
77
|
+
|
78
|
+
|
79
|
+
```
|
80
|
+
|
81
|
+
class ApplicationController < ActionController::Base
|
82
|
+
|
83
|
+
around_action :set_time_zone
|
84
|
+
|
85
|
+
|
86
|
+
|
87
|
+
# Prevent CSRF attacks by raising an exception.
|
88
|
+
|
89
|
+
# For APIs, you may want to use :null_session instead.
|
90
|
+
|
91
|
+
# protect_from_forgery with: :exception
|
92
|
+
|
93
|
+
protect_from_forgery with: :null_session
|
94
|
+
|
95
|
+
|
96
|
+
|
97
|
+
protected
|
98
|
+
|
99
|
+
def set_time_zone
|
100
|
+
|
101
|
+
if user_signed_in? && current_user.time_zone.present?
|
102
|
+
|
103
|
+
gon.user_time_zone = ActiveSupport::TimeZone.zones_map[current_user.time_zone].tzinfo.identifier
|
104
|
+
|
105
|
+
Time.use_zone(current_user.time_zone) { yield }
|
106
|
+
|
107
|
+
else
|
108
|
+
|
109
|
+
yield
|
110
|
+
|
111
|
+
end
|
112
|
+
|
113
|
+
end
|
114
|
+
|
115
|
+
```
|
116
|
+
|
117
|
+
|
118
|
+
|
119
|
+
```
|
120
|
+
|
121
|
+
def set_time_zone
|
122
|
+
|
123
|
+
puts current_user
|
124
|
+
|
125
|
+
if user_signed_in? && current_user.time_zone.present?
|
126
|
+
|
127
|
+
```
|
128
|
+
|
129
|
+
|
130
|
+
|
131
|
+
とかくと puts current_user の箇所にエラーが移動します
|
132
|
+
|
133
|
+
|
134
|
+
|
135
|
+
これがエラー画面になります
|
136
|
+
|
137
|
+
|
138
|
+
|
139
|
+
![エラー画面](b0714b0fb75716f05113a467b3234310.png)
|
6
質問内容の修正
test
CHANGED
File without changes
|
test
CHANGED
@@ -34,7 +34,7 @@
|
|
34
34
|
|
35
35
|
あきらかに別の場所でエラーが起こっていると思うのですが
|
36
36
|
|
37
|
-
Rails って度々エラー内容とエラーを出す場所が食い違うことがあ
|
37
|
+
Rails って度々エラー内容とエラーを出す場所が食い違うことがあって
|
38
38
|
|
39
39
|
なぜこういうことがおこるのでしょうか…
|
40
40
|
|
5
質問内容の修正
test
CHANGED
File without changes
|
test
CHANGED
@@ -18,7 +18,7 @@
|
|
18
18
|
|
19
19
|
|
20
20
|
|
21
|
-
調べたところ devise というジェムのヘルパーメソッドのようで、
|
21
|
+
調べたところ current_user は devise というジェムのヘルパーメソッドのようで、
|
22
22
|
|
23
23
|
マージ前は出ていなかったし自分はユーザ関連やデバイス関連をさわっていないので、
|
24
24
|
|
@@ -29,6 +29,10 @@
|
|
29
29
|
自分で調べなければいけなくなりました
|
30
30
|
|
31
31
|
|
32
|
+
|
33
|
+
current_user 自体は引数なしで呼んでいるので
|
34
|
+
|
35
|
+
あきらかに別の場所でエラーが起こっていると思うのですが
|
32
36
|
|
33
37
|
Rails って度々エラー内容とエラーを出す場所が食い違うことがあるのですが
|
34
38
|
|
4
質問内容の修正
test
CHANGED
File without changes
|
test
CHANGED
@@ -12,7 +12,7 @@
|
|
12
12
|
|
13
13
|
試しにエラーの場所の前に
|
14
14
|
|
15
|
-
`puts current_s
|
15
|
+
`puts current_user`
|
16
16
|
|
17
17
|
という行をはさんでみたら同じエラー内容の場所がそっちに移動しました
|
18
18
|
|
3
質問内容の修正
test
CHANGED
File without changes
|
test
CHANGED
@@ -18,13 +18,13 @@
|
|
18
18
|
|
19
19
|
|
20
20
|
|
21
|
-
調べたところ devise というジェムのヘルパーメソッドのようで
|
21
|
+
調べたところ devise というジェムのヘルパーメソッドのようで、
|
22
22
|
|
23
|
-
マージ前は出ていなかったし自分はユーザ関連やデバイス関連をさわっていないので
|
23
|
+
マージ前は出ていなかったし自分はユーザ関連やデバイス関連をさわっていないので、
|
24
24
|
|
25
|
-
他の人の修正が原因だと思うのですが
|
25
|
+
他の人の修正が原因だと思うのですが、
|
26
26
|
|
27
|
-
チームに聞いてみても他の人のローカル環境では発生していないようで
|
27
|
+
チームに聞いてみても他の人のローカル環境では発生していないようで、
|
28
28
|
|
29
29
|
自分で調べなければいけなくなりました
|
30
30
|
|
2
質問内容の修正
test
CHANGED
File without changes
|
test
CHANGED
@@ -2,13 +2,23 @@
|
|
2
2
|
|
3
3
|
|
4
4
|
|
5
|
-
|
5
|
+
current_user というメソッドの場所で
|
6
6
|
|
7
7
|
`wrong number of arguments (3 for 2)`
|
8
8
|
|
9
9
|
というエラーが出ます
|
10
10
|
|
11
11
|
|
12
|
+
|
13
|
+
試しにエラーの場所の前に
|
14
|
+
|
15
|
+
`puts current_suer'
|
16
|
+
|
17
|
+
という行をはさんでみたら同じエラー内容の場所がそっちに移動しました
|
18
|
+
|
19
|
+
|
20
|
+
|
21
|
+
調べたところ devise というジェムのヘルパーメソッドのようで
|
12
22
|
|
13
23
|
マージ前は出ていなかったし自分はユーザ関連やデバイス関連をさわっていないので
|
14
24
|
|
1
質問内容の修正
test
CHANGED
File without changes
|
test
CHANGED
@@ -16,7 +16,9 @@
|
|
16
16
|
|
17
17
|
チームに聞いてみても他の人のローカル環境では発生していないようで
|
18
18
|
|
19
|
-
自分で調べなければいけな
|
19
|
+
自分で調べなければいけなくなりました
|
20
|
+
|
21
|
+
|
20
22
|
|
21
23
|
Rails って度々エラー内容とエラーを出す場所が食い違うことがあるのですが
|
22
24
|
|