Rails 5 ActionController :: InvalidAuthenticityToken错误 [英] Rails 5 ActionController::InvalidAuthenticityToken error
本文介绍了Rails 5 ActionController :: InvalidAuthenticityToken错误的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
ActionController :: InvalidAuthenticityToken
我的应用程序控制器
是
class ApplicationController< ActionController :: Base
protect_from_forgery with::exception,prepend:true
before_action:configure_permitted_parameters,if::devise_controller?
protected
def configure_permitted_parameters
devise_parameter_sanitizer.permit(:sign_up,keys:[:name])
devise_parameter_sanitizer.permit(:account_update,keys: [:name])
end
end
而我的其他 BugController
是
class BugsController< ApplicationController
protect_from_forgery prepend:true,with::exception
before_action:authenticate_user!
before_action:set_bug,only:[:show,:edit,,update]
def update
respond_to do | format |
if @ bug.update(bug_params)
format.html {redirect_to @bug,notice:'Bug was successfully updated。'}
format.json {render:show,status::ok ,位置:@bug}
else
format.html {render:edit}
format.json {render json:@ bug.errors,status::unprocessable_entity}
end
end
end
private
def bug_params
params.require(:bug).permit(:product,:component,:title,,description, :status_id,:created_by_id,:assigned_to_id
end
end
解决方案
class BugsController< ApplicationController
skip_before_filter:verify_authenticity_token
protect_from_forgery prepend:true,with::exception
before_action:authenticate_user!
before_action:set_bug,only:[:show,:edit,,update]
end
喜欢这个
I have a rails application which I am planning to upgrade to rails 5. I am using devise(v4.2.0) along with rails(v5.0.0). As suggested in devise README.md file, I tried moving the protect_from_forgery above the before_filter but still when I am trying to login or update my bug I get an error ActionController::InvalidAuthenticityToken
My Application Controller
is
class ApplicationController < ActionController::Base
protect_from_forgery with: :exception, prepend: true
before_action :configure_permitted_parameters, if: :devise_controller?
protected
def configure_permitted_parameters
devise_parameter_sanitizer.permit(:sign_up, keys: [:name])
devise_parameter_sanitizer.permit(:account_update, keys: [:name])
end
end
And my other BugController
is
class BugsController < ApplicationController
protect_from_forgery prepend: true, with: :exception
before_action :authenticate_user!
before_action :set_bug, only: [:show, :edit, :update]
def update
respond_to do |format|
if @bug.update(bug_params)
format.html { redirect_to @bug, notice: 'Bug was successfully updated.' }
format.json { render :show, status: :ok, location: @bug }
else
format.html { render :edit }
format.json { render json: @bug.errors, status: :unprocessable_entity }
end
end
end
private
def bug_params
params.require(:bug).permit(:product, :component, :title, :description, :status_id, :created_by_id, :assigned_to_id)
end
end
解决方案
class BugsController < ApplicationController
skip_before_filter :verify_authenticity_token
protect_from_forgery prepend: true, with: :exception
before_action :authenticate_user!
before_action :set_bug, only: [:show, :edit, :update]
end
Like This
这篇关于Rails 5 ActionController :: InvalidAuthenticityToken错误的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文