Ruby on Rails でタスク管理アプリケーション作成中に、以下のエラーに遭遇しました。
使用している学習本は「現場で使えるRuby on Rails 5速習実践ガイド」です。
※誤植やコード記述内容の訂正、各章の完成イメージファイルなどの確認は以下のサポートサイトにて確認可能。
現場で使えるRuby on Rails5速習実践ガイド サポートページ
【Railsアプリ作成中、ブラウザ上に表示されたエラー】
raise ActionController::InvalidAuthenticityToken
上記エラーを調べた結果、Railsにはデフォルトでaplication.controller.rb内にprotect_from_forgeryメソッドが定義されているためにこうしたエラーが発生する可能性があるとのこと。
※CSRF(Cross-Site Request Forgery)対策のための仕様であるため、開発サイドでprotect_from_forgeryを追記しておく必要があるようです。
taskleaf/app/controller/tasks_controller.rb内に以下のコードを追記して解消しました。
class TasksController < ApplicationController protect_from_forgery #←この記述を追記 ...(中略)...
無事にアドミン権限でログインした際に、ユーザー一覧が表示されるようになりました。