回答編集履歴

1

じゃぁ何が悪いのか\?

2016/11/08 01:21

投稿

hana-da
hana-da

スコア1728

test CHANGED
@@ -81,3 +81,35 @@
81
81
 
82
82
 
83
83
  といった感じで1つづつ潰していってください。
84
+
85
+
86
+
87
+ ----
88
+
89
+
90
+
91
+ じゃぁ何が悪いのか **persist?** が `true` でないという事は **create** に失敗しています。
92
+
93
+ createに失敗する理由はいくつかありますが `create!` にする事で create に失敗した時点で例外が発生するので
94
+
95
+
96
+
97
+ ```ruby
98
+
99
+ def self.from_omniauth(auth)
100
+
101
+ where(provider: auth.provider, uid: auth.uid).first_or_create! do |user| ←first_or_createがあるので①の問題は発生していない…?
102
+
103
+ user.provider = auth.provider
104
+
105
+ user.uid = auth.uid
106
+
107
+ end
108
+
109
+ end
110
+
111
+ ```
112
+
113
+
114
+
115
+ として例外メッセージを読めばなぜ first_or_create が失敗したのかわかるはずです。