У меня есть этот код в модели под названием Project. Он устанавливает владельца проекта до его сохранения.
before_save :set_owner
# Set the owner of the project right before it is saved.
def set_owner
self.owner_id = mock_model(User).id # current_user.id is stubbed out for a mock_model.
# Lifecycle is set by the form's collection_select
end
И функция current_user отключена в моих тестах Rspec, чтобы вернуть mock_model (именно поэтому код выше показывает mock_model вместо current_user).
Теперь, когда я запускаю это, мои тесты Rspec срываются и жалуются:
undefined method `mock_model' for #<Project:0x105c70af0>
Я предполагаю, что поскольку before_save является функцией экземпляра, он почему-то считает, что mock_model - это функция, определенная в Project.
Кто-то, должно быть, сталкивался с этим раньше ... Как-нибудь обойтись?