У меня есть две модели: Пользователь и Урок.Я хочу, чтобы уроки назначались только администраторам.
Каков наилучший способ обеспечить это?В настоящее время я пытаюсь создать собственный валидатор, например:
class BelongsToAdminValidator < ActiveModel::EachValidator
def validate_each(object, attribute, value)
unless value.admin?
object.errors[attribute] << (options[:message] || "must belong to an admin")
end
end
end
Но это приводит к тому, что Rspec говорит:
undefined method `admin?' for nil:NilClass
Что имеет смысл.валидатор лучший способ сделать это?Или я должен проверять, является ли назначаемый пользователь администратором в контроллере?