Previous Lecture Complete and continue  

  前言

注意:如果你刚刚完成初级内容,请把终端器、编辑器关闭终止,再打开做中级内容

目标

这一份是写给 Rails 新手的中级训练教材。
接下來会以一个“讨论版”为主题,实际让同学了解如何“从零打造”手写出一个网站。

这个讨论版会有:

  • 使用者注册以及登入功能
  • 开新讨论区、留言功能
  • 加入讨论区、离开讨论区功能
  • 权限管理功能
  • 热门文章排序功能
  • 了解什么是 RESTful

当你把这次应用程式实作完成,并上线后,你会学会:

  • 怎么把需求变成会动的 Rails 应用程式
  • 如何在 Rails 套版
  • 如何制作使用者登入功能
  • 重要 Rails 观念以及 API
    • CRUD
    • RESTful
    • member, collection
    • helper
    • partial
    • scope
  • 找到 Rails 第三方 gem 的技巧
  • 要怎么把你的应用程式放到网路上

这几乎是一个 Rails 新手应该学的一切了,有了这些基础技巧之后,你再学更难的技巧,或者是要自己做出复杂的东西,就不会那么容易失败了。

时程

  • 约 8 - 12 小时 Rails 开发
  • 建议每天使用 2 小时来完成作业
  • 在上课前,重复练习三遍。(相信我,你会越练越快的...)

需求

我们会用这些来做:

  • ruby 2.1.2 、2.2.0 、2.3.1用 RVM 安装(Mac 或 Linux)
  • rails 5.0.0
  • bundler
  • sqlite
  • 你自己选的文字编辑器

这些应该都要在前一份教材就装好,确定它们都妥妥的。

要确认一切没问题的话,可以在终端机输入:

irb
(只需要输入灰底的部分)

2.3.1 :001 > 1 + 2
=> 3

2.3.1 :001 > require "active_support"
=> true

2.3.1 :001 > exit

如果这些都可以跑的话,就是没问题了。

效能!效率!

我们非常推荐你这样做:

  • 打开终端机并开两个分页:
    • 一个用来做平常的终端机指令
    • 一个用来使用 irb (即 rails console)。我们之后会提到
  • 重新打开你的浏览器,或是把其他视窗关掉
    • 打开新的视窗并开两个分页
    • 一个用来看本教学
    • 一个用来测试你的程式
  • 打开文字编辑器,然后不要关掉它。我们不会中断。
  • 把其他应用程式都隐藏起来。关掉 Twitter 、即时通讯程式,其他别的干扰物。
  • 把跟你互动的东西最少化,可以减少你分心在这些东西的次数与耗费的时间。在浏览器里打开 50 个分页会干扰到你并且浪费时间。

格式

每一课的格式都会长这样:

  • 目标

叙述我们要做什么。

  • 步骤

跟着做,但是这时候你还不知道原理。

  • 解释

关于这些步骤实际上做了什么的细节,详述原因与效果,将一切都连在一起。