2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

Socery でundefined method 'after_save' for {:if=>...}のerrorが出てきた時の対処法

Posted at

sorceryでログイン機能実装時にタイトルのような、undefined method 'after_save' for {:if=>...}のエラーが出てはまってしまったため、その解決策を書かせて頂きます。
D8A42207-B968-430B-AE82-814F5B8D48FA.jpeg

結論を言うと、sorceryのversionを最新にすることで解決しました。

私の環境はと言うと
ruby 3.1.2
rails 6.1.5
で実装をしていました。

いつも通りrails newしてログイン機能をsorceryで実装しようとしたら、上の写真のようなエラーが出てきました。
色々な記事を見てきて、そのうちの解決策の一つに、rubyのversionを2系に落とすと良いという記事がありました。
rubyのversionを2系に落として実装したところ写真のようなエラーは無くなりました...

しかし、rubyの3系で実装したいと思っていたので、このままでは意に反することになる、

そこでsorceryのversionを確認してみると
0.14.1
になっていました。
どうやらsoreceryのversionが古いとこのようなエラーが発生するみたいです。

最新版をgoogleで検索すると 0.16.3と書いてあったのでversionを指定してinstallするとこのエラーは解決しました。

gem 'sorcery', '0.16.3'

と記述を直し、bundle installするとエラーが解決しました。

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?