ActionController::InvalidAuthenticityToken in UsersController#sign_in_process
というエラーが出て、自分で色々なサイトを見たり、やり直しなどしたり、数日間悪戦苦闘で、もう自分では解決できませんでした。
どなたかお力をお貸しください。よろしくお願いします。
エラー
ActionController::InvalidAuthenticityToken Extracted source (around line #195): 193 194 195 196 197 198 def handle_unverified_request raise ActionController::InvalidAuthenticityToken end end end
routes.rb
Rails.application.routes.draw do root'users#top' get '/',to: 'users#top',as: :top get '/posts/new', to:'posts#new',as: :new_post get '/profile/edit',to:'users#edit' get '/profile/(:id)', to:'users#show',as: :profile get '/follower_list/(:id)',to:'users#follower_list' get '/follow_list/(:id)',to:'users#follow_list' get '/sign_up',to:'users#sign_up',as: :sign_up get '/sign_in',to:'users#sign_in',as: :sign_in post '/sign_in',to:'users#sign_in_process' post '/sign_up',to:'users#sign_up_process' get '/sign_out',to:'users#sign_out' post '/posts',to:'posts#create' end
users_controller.rb
class UsersController < ApplicationController #before_action :authorize, except: [:sign_up, :sign_up_process, :sign_in, :sign_in_process] #before_action :redirect_to_top_if_signed_in, only: [:sign_up, :sign_in] def top end def new end def show end def edit end def follower_list end def sign_up @user = User.new render layout: "application_not_login" end def sign_in @user=User.new render layout: "application_not_login" end def sign_in_process # パスワードをmd5に変換 password_md5 = User.generate_password(user_params[:password]) # メールアドレスとパスワードをもとにデータベースからデータを取得 user = User.find_by(email: user_params[:email], password: password_md5) if user # セッション処理 user_sign_in(user) # トップ画面へ遷移する redirect_to top_path and return end end # ユーザー登録処理 def sign_up_process user = User.new(user_params) if user.save else # 登録が失敗したらユーザー登録ページへ flash[:danger] = "ユーザー登録に失敗しました。" redirect_to ... end end private def user_params params.require(:user).permit(:name, :email, :password) end end
あなたの回答
tips
プレビュー