照着教程完成后测试了一下,单纯删除已有的post完全没问题。
但,如果马上create一个新post,再立马执行删除这新create出来的post,就立马报错了,会提醒你show页面还没有写HTML...
一通思考,感觉估计是因为create的Ajax部分执行了什么,然后post代码部分的ajax是把“create”与“delete”包起来一起执行换元素的,所以create后整个元素换了什么,被换的部分并没有把“自动跳转show”给 evt.preventDefualt();
查找并尝试了一下,果然添加到create.js.erb
这代码后就不会自动跳转去show
页面导致报错了...
因为要赶进度,先搁置这个报错问题 二刷的话再彻底解决吧
外星人主机在等我啊啊啊啊 进度不能拖啊啊啊
结果不死心...尝试把delete的整段 jQuery搬过来,这个问题就解决了,多花两分钟而已!!!居然搞定了哈哈哈哈
还好没放弃! 恭喜!!
教程版解决此bug方案
我的天,果然是大神的教程,在4-5提到了这个bug啊啊啊!
还解释了背后原理,简直感动!!可以跟自己的解决办法对比一下,就知道新手看到的跟大神看到的不一样在哪里了,幸好我自己试了一下还自己解决了一次
一样是用 on 语法,但是改成绑在 #post-list 上,以及重点是多了第二个参数可以过滤出真正触发的元素,在这里也就是
.delete-post
和.toggle-flag
真是厉害的debug 果然学的越多解决办法越赞
网友评论