欢迎来到我们的下一个“Let's Build”!此版本引入了著名的社交媒体巨头 Twitter,作为该项目的灵感。我们将创建一个名为twittter的山寨产品。
该应用程序将最显着地演示用户角色系统,让您的 Web 应用程序和导航应用程序感觉都在浏览器中。我会比之前的构建快一点,因为它更多的是一个基础练习,我在其中解释了围绕 Ruby on Rails 生态系统的常见概念。我们将利用 Rails 生成器来帮助构建我已经介绍过的一些内容。如果您还没有观看第一期《Let's Build》,我邀请您观看,以便了解我们正在做的事情。
下载源代码
该应用程序本身将具有基本的 CRUD 原则,我们可以在其中创建、读取、更新和销毁Tweet 。本质上,这与我之前为博客创建帖子的构建相同。在Tweet之上,我引入了一个名为 Devise 的新 gem,它可以轻松创建整个用户角色和身份验证系统。结合这个 gem,我们可以对想要创作Tweet 的用户进行身份验证。用户的推文也将与其帐户绑定。最终结果是一个面向公众的网站,其中包含来自不同用户的推文流。拥有帐户的用户可以登录创建自己的推文以添加到公共流中。
Twitter 是一个非常复杂的应用程序。我不会介绍这个著名社交媒体巨头的回复、转发、点赞以及其他一些基本功能。相反,我邀请您尝试如何添加这些功能。与我构建的带有评论的博客类似,看看您是否可以弄清楚如何自行向应用程序添加回复。 (提示:这与我在上一个版本中向博客文章添加评论相同;))。作为另一项练习,我可能会重新访问此应用程序以添加更多功能,但我确实没时间了!如果您希望我进一步扩展此内容,请告诉我。
还有一些“喜欢”帖子的宝石。这是我最喜欢的一个
注意:在此版本中调用退出后,我注意到的一个大错误是任何登录用户都可以编辑任何其他用户的推文。这是一个很大的安全缺陷,因为用户的能力只能在他们自己的帐户内。看看是否可以找到一种方法,只允许当前登录的用户编辑自己的推文,而不允许其他用户编辑。我可能会重新审视这个系列来扩展和解决这些问题。
更好的错误 - 为了更好的错误
Bulma - 用于简单的 CSS。随意推出您自己的样式和/或使用不同的框架。
Guard - 对于实时重新加载我们的scss
、 js
、 css
和erb
文件很有用,尽管它的功能还有更多!
Guard LiveReload gem 需要 Guard 才能工作
守卫实时重装
简单表格 - 对于简单表格!
Devise - 轻松的用户角色和身份验证
Gravatar_image_tag - 集成图像标签,可吐出 gravatars。
继续阅读 web-crunch.com