Я создаю приложение для опросов, в котором, исходя из рейтингов, мне нужны определенные вещи.В основном, если опрос представлен с общим рейтингом менее 15, нам необходимо уведомить руководителя.С почтовыми программами это достаточно просто, но я не могу получить доступ к данным рейтинга в методе after_create.
В моей модели есть 5 полей с именами A, B, C, D и E, которые являются целыми числами, и они содержатданные рейтинга в форме.
Я пробовал: нотация Я пробовал self.notation, я пробовал after_create (service) service.notation и ничего не работает - электронное письмо никогда не отправляется, потому что оно непонимаю, что рейтинг ниже 15.
У меня также есть флажок с похожими проблемами.В базе данных он отображается как «true», но перед сохранением он обычно отображается как 1, поэтому проверка правильности значения является сложной задачей.Как и в приведенном ниже коде, я тоже не могу получить доступ к его значению.Я перечислил все различные методы, которые я попробовал, но безуспешно.
Очевидно, что они не все существуют в модели одновременно, они перечислены ниже как примеры того, что я пытался
Как получить доступ к этим значениям данныхв вызове after_create?!
class Service < ActiveRecord::Base
after_create :lowScore
def lowScore
if(A+B+C+D+E) < 15 #does not work
ServiceMailer.toSupervisor(self).deliver
end
end
def lowScore
if(self.A+self.B+self.C+self.D+self.E) < 15 #does not work either
ServiceMailer.toSupervisor(self).deliver
end
end
#this does not work either!
def after_create(service)
if service.contactMe == :true || service.contactMe == 1
ServiceMailer.contactAlert(service).deliver
end
if (service.A + service.B + service.C + service.D + service.E) < 15
ServiceMailer.toSupervisor(service).deliver
ServiceMailer.adminAlert(service).deliver
end
end