前言
注意:如果你刚刚完成初级内容,请把终端器、编辑器关闭终止,再打开做中级内容
目标
这一份是写给 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 个分页会干扰到你并且浪费时间。
格式
每一课的格式都会长这样:
- 目标
叙述我们要做什么。
- 步骤
跟着做,但是这时候你还不知道原理。
- 解释
关于这些步骤实际上做了什么的细节,详述原因与效果,将一切都连在一起。