项目地址:StrongBySteps-GitHub(一个学习记录与时间管理系统。)
这表单时而能使,时而不能使
在没有填写“绑定子任务”时,修改计划用时,比如我填写的是10。显示修改成功,但实际上并没有修改(还是5)。如果填写了“绑定子任务”,则正常修改。
处理:简单说,就是taskname
为空串时,直接return了,没有db.session.commit
将修改提交到数据库。
问题的产生有一些历史设计的原因。
- 首先,修改
plan.need_minute
后没有直接接上db.session.commit
,而是借用了bind_tp()
中的commit()
。 - 其次,之前第30行是没有这个
return
的,因为之前表单中“绑定子任务”输入框我用?
字符默认填充,限制了%{taskname}%
的匹配,并不需要return。 - 然后,我改了表单,使用底纹“可输入现有的任务名”提示,输入框变成了默认空。理所当然,我加上了第30行的return。
所谓“屎山代码”,大抵是有这样性质的吧!