Привет, я запускаю своего тестового эксперта с самоцветом состояния машины, но я получаю эту ошибку,
@record является нулем, но в документации pundit с этой переменной я получаю объектную модель.
NoMethodError:
неопределенный метод may_approve? для ноля: NilClass
это мой файл спецификаций syllabus_program_policy_spec.rb
требуется 'rails_helper'
RSpec.describe SyllabusProgramPolicy do
subject { SyllabusProgramPolicy }
include RolesUserConcern
permissions :approve? do
it "approver role can" do
expect(subject).to permit(approver)
end
it "creator role, cannot approve a silabus" do
expect(subject).not_to permit(creator)
end
end
end
Это мой файл политики
class SyllabusProgramPolicy < ApplicationPolicy
def approve?
true if ( @user.is_approver? && @record.may_approve? )
end
def send_to_approve?
true if ( @user.is_creator? && @record.may_send_to_approve? )
end
def refuse?
true if ( @user.is_approver? && @record.may_observe? )
end
def show?
true if ( @user.is_approver? || @user.is_creator? )
end
def update?
@user.is_creator?
end
end
это мой файл ApplicationPolicy
class ApplicationPolicy
attr_reader :user, :record
def initialize(user, record)
@user = user
@record = record
end
end
Может помочь мне