У меня есть проект Rails 3, в котором я хочу сохранить текущую компанию, выбранную в переменной сеанса.
Я работаю со спецификацией контроллера персонала и на данный момент хотел бы заглушить current_company, поскольку я выделяю пример своей спецификации для действия нового контроллера персонала.
it "should call current_company" do
company = mock_model(Company, :id => "1")
controller.should_receive(:current_company).and_return(company)
get :new
end
Вот мое новое действие для штатного контролера
def new
@staff = Staff.new
@staff.company_id = current_company.id
end
Я получаю сообщение об ошибке
Failure/Error: get :new
NameError:
undefined local variable or method `current_company' for #<StaffsController:0x000000028d6ad8>
Я также пытался просто заглушить его вместо использования should_receive
controller.stub!(:current_company).and_return(company)
Я получаю ту же ошибку.