【Ruby on Rails全栈课程】3.1 宠物之家论坛管理系统介绍

简介: 学完第二章之后,我们就要开始写项目啦。我们对ruby的了解仅仅还是数组、字符串这些零散的知识,现在通过项目来把这些知识串起来,学习这些知识在实际项目中的应用。

学完第二章之后,我们就要开始写项目啦。我们对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 搜索文件名


项目介绍:


image.png

1、注册功能


(1)用户注册需要填写信息:用户名、邮箱、角色、密码、确认密码


(2)用户角色分为普通用户、管理员、超级管理员,后期方便对用户进行权限管理


(3)邮箱要求唯一,注册成功发送欢迎邮件到注册邮箱


(4)密码需要通过SSL进行加密再存入到数据库


image.png

2、登录功能


(1)用户输入密码错误、邮箱没有注册情况都需要做相应的提示


(2)用户勾选记住账号,会在下次登录时记住账号直接登录,通过cookie实现,没有勾选记住账号,用session来临时保存账号信息


(3)点击「没有账号?注册一个吧!」链接,进入注册页面


image.png


3、权限管理


(1)普通用户:可以发布帖子、删除自己发布的帖子、发布评论、删除自己发布的评论


(2)管理员:注册后不能直接登录,需要超级管理员审批后才可以登录。可以发布帖子、删除普通用户的帖子,发布评论,删除普通用户的评论,置顶加精帖子。拥有普通用户的权限


(3)超级管理员:审批通过管理员注册申请。拥有管理员的权限


4、发布新帖以及展示


(1)点击主页面的「发布新帖」按钮,可以进入帖子发布页面


(2)标题不能为空,内容不能少于8个字


(3)发布成功后重定向到根目录,发布失败保留本页面


(4)帖子先按置顶–>精华帖–>普通帖排序。再按帖子修改时间排序


(5)帖子发布成功后显示在主页面,帖子内容仅展示一行,查看所有内容需点击帖子标题进入帖子详情页面。


image.png

image.png

5、帖子详情页面


1)点击帖子标题/帖子内容,进入帖子详情页面,评论框在详情页面最下面。


2)点击详情页面的评论按钮,页面定位到评论框。(通过锚点定位)


3)点击每个评论下面的回复按钮,在该评论下面出现回复评论框,回复变成取消回复,

点击取消回复,收起评论框。用js控制。


4)如果评论被删除,评论内容展示为「该评论已删除」,该评论回复按钮隐藏,该评论下面的回复可以正常显示和回复


5)每个评论回复的条数最多显示两条,多于两条,回复下面会显示「点击查看更多回复」链接,点击此链接,展开相应的回复数量,页面不刷新,需要配合js实现。


image.png

6、点赞功能


(1)一个用户对同一帖子只能点赞一次,第二次就是取消赞


(2)用户不刷新页面的时候,点赞数是当前页面此贴点赞数+1,图标变成fa-thumbs-up,取消赞是当前页面此贴点赞数-1,图标变成fa-thumbs-o-up,不受其他用户同时点赞操作的影响,这就需要js控制。


(3)用户必须登录才能给帖子点赞。没有登录的话,点赞需要提醒登录。


7、评论功能


(1)评论内容不能为空,用户必须登录可以回复或者评论。


(2)评论按照评论的时间倒序排序,即最新评论的在最前面


(3)游客可以浏览帖子和评论,评论帖子需要登录,管理员可以删除自己以及普通会员的评论,普通会员可以删除自己的评论。


(4)评论分页,每页展示10条评论。用分页功能实现


目录
相关文章
|
7月前
|
前端开发 测试技术 数据库
使用Ruby on Rails进行快速Web开发的技术探索
【8月更文挑战第12天】Ruby on Rails以其高效、灵活和易于维护的特点,成为了快速Web开发领域的佼佼者。通过遵循Rails的约定和最佳实践,开发者可以更加专注于业务逻辑的实现,快速构建出高质量的Web应用。当然,正如任何技术框架一样,Rails也有其适用场景和局限性,开发者需要根据项目需求和个人偏好做出合适的选择。
|
7月前
|
前端开发 测试技术 API
揭秘Ruby on Rails的神秘力量:如何让你的Web应用飞起来?
【8月更文挑战第31天】Ruby on Rails(简称RoR)是一个基于Ruby语言的开源Web应用框架,自2005年发布以来,因简洁的语法、强大的功能和高效的开发效率而广受好评。RoR采用MVC架构,提高代码可读性和可维护性,拥有庞大的社区和丰富的库支持。本文通过示例代码展示其强大之处,并介绍RoR的核心概念与最佳实践,帮助开发者更高效地构建Web应用。
141 0
|
7月前
|
前端开发 API C++
在Ruby世界中寻找你的Web框架灵魂伴侣:Rails vs Sinatra
【8月更文挑战第31天】在Ruby的世界里,选择Web框架如同挑选衣物,需根据场合和需求。Rails与Sinatra是两大热门框架,前者以其“约定优于配置”理念和全面的功能成为企业级应用的首选;后者则以轻量级和灵活性著称,适用于快速原型开发和小规模应用。通过对比两者特性,如Rails的MVC架构与Sinatra的简洁API,我们可以看到它们各有所长。选择合适的框架,如同找到旅途中的最佳伙伴,让开发之路更加顺畅愉悦。这场探索之旅教会我们,没有绝对的好坏,只有最适合的选择。
82 0
|
7月前
|
安全 前端开发 数据安全/隐私保护
如何在Ruby on Rails中打造坚不可摧的OAuth认证机制
【8月更文挑战第31天】在构建现代Web应用时,认证与授权至关重要。本文介绍如何在Ruby on Rails中实现OAuth认证,通过使用`omniauth`和`devise` gems简化流程。首先安装并配置相关gem,接着在`User`模型中处理OAuth回调,最后设置路由及控制器完成登录流程。借助OAuth,用户可使用第三方服务安全地进行身份验证,提升应用安全性与用户体验。随着OAuth标准的演进,这一机制将在Rails项目中得到更广泛应用。
89 0
|
8月前
|
SQL 安全 数据库
Ruby on Rails 数据库迁移操作深度解析
【7月更文挑战第19天】Rails 的数据库迁移功能是一个强大的工具,它帮助开发者以版本控制的方式管理数据库结构的变更。通过遵循最佳实践,并合理利用 Rails 提供的迁移命令和方法,我们可以更加高效、安全地管理数据库结构,确保应用的稳定性和可扩展性。
|
9月前
|
前端开发 测试技术 数据库
Ruby on Rails:快速开发Web应用的秘密
【6月更文挑战第9天】Ruby on Rails,一款基于Ruby的Web开发框架,以其高效、简洁和强大备受青睐。通过“约定优于配置”减少配置工作,内置丰富功能库加速开发,如路由、数据库访问。活跃的社区和海量资源提供支持,MVC架构与RESTful设计确保代码清晰可扩展。高效的数据库迁移和测试工具保证质量。Rails是快速构建Web应用的理想选择,未来将持续影响Web开发领域。
|
10月前
|
开发框架 安全 前端开发
使用Ruby on Rails进行快速Web开发
【5月更文挑战第27天】Ruby on Rails是一款基于Ruby的高效Web开发框架,以其快速开发、简洁优雅和强大的社区支持著称。遵循“约定优于配置”,Rails简化了开发流程,通过MVC架构保持代码清晰。安装Ruby和Rails后,可使用命令行工具创建项目、定义模型、控制器和视图,配置路由,并运行测试。借助Gem扩展功能,优化性能和确保安全性,Rails是快速构建高质量Web应用的理想选择。
|
10月前
|
监控 数据可视化 前端开发
使用Ruby on Rails构建的员工上网行为监控Web应用
我们开发了一款基于Ruby on Rails的员工上网行为监控Web应用,帮助企业保护数据安全和确保员工生产力。该应用利用Rails的MVC架构和Active Record管理数据库,通过网络代理和JavaScript追踪员工网络活动。数据收集后,应用进行分析和可视化,以便识别异常行为。此外,借助Rails的后台任务和Sidekiq gem,实现数据自动化处理和定时更新,为公司提供实时监控反馈。
346 2
|
10月前
|
缓存 前端开发 测试技术
框架分析(6)-Ruby on Rails
框架分析(6)-Ruby on Rails
|
10月前
|
缓存 关系型数据库 数据库
上云一年烧320万美元,成功“下云”六个月后Ruby on Rails之父现身回了 14 个问题!...
上云一年烧320万美元,成功“下云”六个月后Ruby on Rails之父现身回了 14 个问题!...
72 1