Это то, как это должно работать? Если
Итак, почему они спроектировали это так?
Да, приборы не используют обратные вызовы. Я предполагаю, что это из соображений производительности. Быстрее загрузить данные прямо в базу данных без создания экземпляра модели.
Есть ли способ вызвать срабатывание
из обратных вызовов при загрузке
светильники?
Не то, что я знаю. У вас есть пара вариантов. Одним из них является создание ваших приборов, как будто обратные вызовы уже сработали То есть вручную создайте данные, которые бы выполняли обратные вызовы. Например, если у вас есть обратный вызов, который хэширует пароль пользователя, вам нужно будет вручную хешировать пароль, а затем сохранить этот хеш в приборе.
Второе решение (и настоятельно рекомендуется!) - использовать фабрики. Фабрики запускают обратные вызовы и позволяют использовать виртуальные атрибуты и т. Д. Это происходит потому, что они каждый раз создают экземпляр модели. Один из популярных камней - Factory Girl . Еще один пример - Машинист . Я также создал эпизод Railscasts на эту тему.