用户登录

修改单个资源的内容会用到资源控制器里的 edit 方法,它需要给我们渲染一个修改资源需要用的表单 .. 提交这个表单以后,会用控制器的 update 方法来处理 .. 在这个方法里要把用户修改之后的资源内容存储在数据库里 ..

在这个 edit 方法里,先把 view .. 还有 params 解构出来 .. 在方法里面先从数据库里面读取需要编辑的内容数据 .. 把这些数据显示在对应的表单元素上 .. 这样用户就可以去编辑表单里面的内容了 ..

添加一个 post .. await .. Database .. from posts 这个表 .. where .. 条件是 id 的值,应该是 params 里的 id 的值 .. 得到第一个结果 ..

接着再 return 一个视图 .. view.render .. 视图可以是 post 里的 edit ... 带着一些数据 .. 一个对象 .. 里面添加一个 post ..

下面可以再去创建这个视图 .. 这个视图跟 create 视图比较像,可以复制一份这个视图文件 .. 名字是 edit ...

然后再修改一下 .. Edit Post ..

action 的地址是 /posts .. 后面加上 post 里的 id ...

因为 html 表单不支持使用 PUT 方法提交 .. 所以我们需要再特别处理一下 .. 再添加一个 _method 参数 .. 值是 PUT .. 意思是我们想要使用的是 PUT 方法提交这个表单 .. 这样才会使用资源控制器里的 update 方法来处理这种请求 ..

然后在这个标题表单元素,就是这个 text 类型的 input 上,添加一个 value 属性 .. 它的值是这个文本框里的内容 .. 绑定一个 post 里的 title ..

再找到下面这个文本区域 .. 中间给它绑定一个 post 里的 content .. 这样在这个文本区域里面会显示文章的正文内容 ..

实验

回到浏览器 ... 比如我想编辑 id 号是 2 的文章内容 .. 编辑这个内容资源的地址应该是 posts/2/edit ..

这里会显示一个编辑内容用的表单 .. 上面会显示 id 号是 2 的文章内容的标题 .. 还有正文 ..

保存修改

提交这个编辑资源用的表单,会使用资源控制器里的 update 方法来处理 .. 在控制器里找到这个方法 ...

然后把 request .. 还有 params 先解构出来 ..

然后在 update 方法里,添加一个 updatedPost .. 表示要更新的内容 .. 用一下 request 的 only ,得到请求里面的 title 还有 content 的值 ..

下面再 await Database .. table 是 posts .. where ,条件是 id 的值应该是 params 里的 id 的值 .. 然后再 update 一下 .. 把要更新的数据交给这个方法 .. 这里就是上面从请求里面得到的这个 updatedPost ..

先到数据库客户端这里检查一下 .. 看一下 posts 表里的内容 .. 注意 id 号是 2 的这条数据记录 .. 我们可以在浏览器上去修改一下这条记录里的内容 ..

再回到浏览器 .. 访问一下编辑内容资源的地址 .. 然后修改一下这个资源的内容,改一下 title .. 再修改一下 content ...

然后再提交一下 ..

成功以后再打开这个资源内容的页面看一下 .. 现在页面上显示的就是修改之后的内容 ... 回到数据库系统的客户端 .. 可以在确定一下 .. 查看一下 posts 表里的数据记录 ..

注意这个 id 号是 2 的数据记录已经变成我们修改之后的东西了 ..

更新数据:修改单个内容资源《 Node.js 应用:查询构建器 》

统计

15260
分钟
0
你学会了
0%
完成

社会化网络

关于

微信订阅号

扫描微信二维码关注宁皓网,每天进步一点