【Ruby on Rails实战】3.1 宠物之家论坛管理系统介绍
发布时间:2019-01-15
学完第二章之后,我们就要开始写项目啦。我们对ruby的了解仅仅还是数组、字符串这些零散的知识,现在通过项目来把这些知识串起来,学习这些知识在实际项目中的应用。
本章学习建议:
(1)一个完整的项目不仅仅有后端的ruby代码,还有前端的css、js、html代码。
- 后端的ruby代码(.rb后缀文件里面的代码),最好手动跟着代码敲写,需要解释的地方我会写在注释或者代码解析中。自己手动敲你会收获满满的成就感哦~~不信你试试。
- 前端ruby代码,其中.scss文件里面的代码直接复制到相应文件里面即可。.html.erb文件里面的代码,我注释解释的代码以及<%%>helper包含的ruby代码着重理解。.js.erb文件的代码尽量理解,Javascript以后可以单独学,在本项目中,你只需要了解这段js代码实现的效果就可以。
(2)当你修改后端的ruby代码(.rb后缀文件里面的代码)以及配置文件代码(config文件下的代码)需要重启项目(ctrl+c停止项目、rails s启动项目)才能看到你修改之后的效果。如果修改了前端代码,无需重启项目,刷新一下浏览器页面即可看到修改后的效果。
(3)第一次写项目,肯定有一些百思不得其解的地方,也会有明明代码写的一样,但是实现不了同样效果的时候。碰到这些情况,我希望你不管怎样都坚持下来,这是一个程序员必须要经历的过程,我们就是在不断遇到问题、不断解决问题的过程中成长。迈过这个槛,完成一个完整的项目。再回头看看,你会感谢努力的自己~~
(4)在学习之前建议学习一下你所用的代码编辑器的快捷键,我们建议安装的是sublime,我们常用的几个功能我列一下,window系统将command键换成ctrl键:
- command + s 保存文件
- command + f 搜索当前文件代码
- command + shift + f 搜索所有项目文件的代码
- command + t 搜索文件名
项目介绍:
1、注册功能
(1)注册时需要填写信息:用户名、邮箱、密码、确认密码、选择角色
(2)用户角色分为普通用户、管理员、超级管理员,后期方便对用户进行权限管理
(3)邮箱要求唯一,注册成功发送欢迎邮件到注册邮箱(之后章节讲解)
(4)密码需要通过SSL进行加密之后,存入到数据库
(5)用户名的长度规定小于等于5个字符、密码和确认密码需要一致
2、登录功能
(1)用户输入密码错误、邮箱没有注册情况都需要做相应的提示
(2)用户勾选记住账号,会在下次登录时记住账号直接登录,通过cookie实现,没有勾选记住账号,用session来临时保存账号信息
(3)点击「没有账号?注册一个吧!」链接,进入注册页面
3、权限管理
(1)普通用户:可以发布帖子、删除自己发布的帖子、发布评论、删除自己发布的评论
(2)管理员:注册后不能直接登录,需要超级管理员审批后才可以登录。可以发布帖子、删除普通用户的帖子,发布评论,删除普通用户的评论,置顶加精帖子。拥有普通用户的权限
(3)超级管理员:审批通过管理员注册申请。拥有管理员的权限
4、发布新帖以及展示
(1)点击主页面的「发布新帖」按钮,可以进入帖子发布页面
(2)标题不能为空,内容不能少于8个字
(3)发布成功后重定向到根目录,发布失败保留本页面
(4)帖子先按置顶-->精华帖-->普通帖排序。再按帖子修改时间排序
(5)帖子发布成功后显示在主页面,帖子内容仅展示一行,查看所有内容需点击帖子标题进入帖子详情页面。
5、帖子详情页面
1)点击帖子标题/帖子内容,进入帖子详情页面,评论框在详情页面最下面。
2)点击详情页面的评论按钮,页面定位到评论框。(通过锚点定位)
3)点击每个评论下面的回复按钮,在该评论下面出现回复评论框,回复变成取消回复,点击取消回复,收起评论框。用js控制。
4)如果评论被删除,评论内容展示为「该评论已删除」,该评论回复按钮隐藏,该评论下面的回复可以正常显示和回复
5)每个评论回复的条数最多显示两条,多于两条,回复下面会显示「点击查看更多回复」链接,点击此链接,展开相应的回复数量,页面不刷新,需要配合js实现。
6、点赞功能
(1)一个用户对同一帖子只能点赞一次,第二次就是取消赞
(2)用户不刷新页面的时候,点赞数是当前页面此贴点赞数+1,图标变成fa-thumbs-up,取消赞是当前页面此贴点赞数-1,图标变成fa-thumbs-o-up,不受其他用户同时点赞操作的影响,这就需要js控制。
(3)用户必须登录才能给帖子点赞。没有登录的话,点赞需要提醒登录。
7、评论功能
(1)评论内容不能为空,用户必须登录可以回复或者评论。
(2)评论按照评论的时间倒序排序,即最新评论的在最前面
(3)游客可以浏览帖子和评论,评论帖子需要登录,管理员可以删除自己以及普通会员的评论,普通会员可以删除自己的评论。
(4)评论分页,每页展示10条评论。用分页功能实现
待补充~~
热门文章
nginx+php 开启PHP错误日志
行业早报2019-01-15为什么你说了很多遍,对方还是不听? 2018-09-25
行业早报2019-01-15【Ruby on Rails实战】3.1 宠物之家论坛管理系统介绍
行业早报2019-01-15从凡人到筑基期的单片机学习之路
行业早报2019-01-15jmeter单台大数量并发
行业早报2019-01-15Go在Windows下开发环境搭建
行业早报2019-01-15ES-科普知识篇
行业早报2019-01-15Hbase 之 由 Zookeeper Session Expired 引发的 HBASE 思考
行业早报2019-01-15谷歌大脑专家详解:深度学习可以促成哪些产品突破?
行业早报2019-01-15EventLoop
行业早报2019-01-15
相关推荐