В качестве примера кода я предполагаю, что вы используете контроллер, а не API-контроллер (из веб-API).
Ваш контроллер API зависит от конструктора из HttpConfiguration
. Контейнер, вероятно, не имеет этого определения для этого типа и, следовательно, не знает, как его решить, и string
в сообщении об ошибке должно исходить из этого типа в качестве зависимости. Я рекомендую вам использовать статический класс GlobalConfiguration
и получить доступ к свойству Configuration
, чтобы получить экземпляр HttpConfiguration
. Вы можете абстрагировать его в свойстве, например, для: Контроллеры API) и получить экземпляр HttpConfiguration
.
Связи вне курса доступны в ваших обратных вызовах. В конце концов, create_after_email - это просто метод. Вы даже можете вызвать его самостоятельно, без использования обратного вызова. ActiveRecord не применяет никаких специальных флагов к методам обратного вызова, чтобы они не работали как любые другие методы.
Также обратите внимание, что вы запускаете запрос User # find напрямую, без использования каких-либо методов ассоциации. Другая причина, по которой функция ассоциации ActiveRecord не должна быть виновной в этом случае.
Причину, по которой вы получаете ошибку, вероятно, следует искать в другом месте. Убедитесь, что self.b_id установлен и ссылается на допустимую запись. Возможно, оно равно нулю или на самом деле нет записи пользователя с таким значением. Фактически, вы не проверяете, возвращает ли запрос запись или ноль: вы предполагаете, что запись с таким значением всегда существует. Вы уверены, что это предположение всегда выполняется?