フォームの送信中に突然このエラーが発生し始めました。私が行った唯一の変更は、ヘルパーとしてマークされている ApplicationController で定義されたメソッドを呼び出すことです。
アプリ/コントローラー/application_controller.rb
class ApplicationController < ActionController::Base
protect_from_forgery
helper_method :is_org_admin?
#Check if current user is Admin in current organization or not
def is_org_admin?
session[:current_organization].is_admin?(current_user)
end
end
is_admin? と定義されている
class Organization < ActiveRecord::Base
has_many :memberships
has_many :users, through: :memberships
def is_admin?(user)
member = memberships.where(user_id: user.id).first
if member.nil?
false
else
member.is_admin?
end
end
end
そして、is_org_admin? ビューテンプレートからメソッドが呼び出されています
アプリ/ビュー/ユーザー/index.html.haml
%h1 Users
- if is_org_admin?
%p= link_to 'Invite new user', new_invitation_path
ApplicationControllerで削除するか、index.html.haml のprotect_from_forgery
ヘルパー メソッドを呼び出すと、機能します。if is_org_admin?
しかしprotect_from_forgery
、ApplicationController で定義されたヘルパーを呼び出す条件を有効にすると、警告が表示され、ページでメッセージを続行する前にサインインまたはサインアップする必要があることが示されます。
ここで何が問題なのか誰か教えてください。