修改控制器写法，并通过测试