我有一个 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)
我犯了同样的错误。