今天主要完成了回复功能的实现,下面主要说一下怎么做的:
在question_index.html.erb中加入回复的div:
在knowledges目录下新建_reply_answer.html.erb
在文件中有一个回复按钮,用于展开评论输入区,answer-content用于渲染form,完成reply的参数设置,这里利用回复按钮做了展开评论输入区的功能,利用jquery完成:
即每个answer-show-button绑定这样一个行为:将他的父节点的孩子们class是answer-content的展开,这样写的目的主要为了防止所有的嵌套内容都被展开。
在form中:
creator、topic、good、bad都是通过传入的参数和上下文变量决定,用户只需要输入评论内容,点击发布,将链接到replies controller的create行为
在replies_controller中定义create行为:
按照reply_params新建一个reply对象,然后存入数据库,之后重定向到该回复的topic页面
效果如下:
开始状态:
我们回复第二个问题My Test内容:
发布后可以看到评论中已经有MyTest了