Ich habe eine Rails-Anwendung, die ich auf Schienen 5 aktualisieren möchte. Ich verwende Devise (v4.2.0) zusammen mit Schienen (v5.0.0). Wie in devise README.md Datei vorgeschlagen, habe ich versucht, die protect_from_forgery über dem before_filter bewegen, aber immer noch, wenn ich versuche, meine Fehler, den ich einen Fehler ActionController::InvalidAuthenticityToken
Rails 5 ActionController :: InvalidAuthenticityToken Fehler
Mein Application Controller
ist
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
erhalten einzuloggen oder zu aktualisieren, und meine BugController
andere ist
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
Ich habe versucht, 'skip_before_filter: verify_authenticity_token' in Bugs Controller, aber immer noch nicht funktioniert. – HSD
zeigen Sie mir, wo Sie es setzen – Boltz0r
In 'Bugs Controller' 'protect_from_forgery prepend: true, mit:: Ausnahme before_action: authenticate_user! before_action: set_bug, nur: [: show, bearbeitet,: update] ' – HSD