about 3 years ago

原作: xdite (原著)
改編: sdlong

原始碼

2015-08-10 版本更新

  1. 將 gitbook 版下架 ( 停止維護 )
  2. 教程中的 code 改用 diff 語法來顯示,方便閱讀

2014-12-30 版本更新

改版重點:

  1. 改用 ruby 1.9+ 的語法 (不再有 :class => "xxx" )
  2. 使用 ruby 2.1.2, Rails 4.2.0 版本
  3. git commit log & flow 漂亮
  4. 不需要再一個個修改 devise 的 views,一個指令解決
  5. deploy to production server by 手動
  6. deploy to production server by capristrano3 ( 自動化 deploy 設定 )

希望能藉此幫助更多人進入 Ruby on Rails 的世界

本 blog 內容為 Rails 101 翻修

不用原本教材裡的懶人包 (Bootstrapper), 一切從 0 開始建置出 Rails 101 裡的專案
讓學 Rails 的新手可以減少遇到地雷的機會

並且從中理解到 Bootstrapper 裡的預設設定
(例如裝了哪些 gem ) 是有什麼意義的

重新排版與改編教程,延伸閱讀的註解
幫助各位用循序漸進,易讀的方式理解
Rails 101 裡面的 Code 的真正價值!

Read on →
 
over 2 years ago

本章的作業目標:

  • 用手動的方式將寫好的 Rails 專案 deploy 到遠端 Server 上
  • 改 Capristrano 自動化部署,一個指令完成 Deploy
Read on →
 
over 2 years ago

本章的作業目標:

  • rake 的概念解說
  • 撰寫 seed.rb 檔
  • 撰寫 rake dev:build => 自動化執行清空+重跑 migration +種子載入資料
Read on →
 
over 2 years ago

本章的作業目標:

  • 使用系統 helper 整理 code
  • 自己撰寫的 helper 包裝 html
  • 使用 partial 整理 html
  • 使用 scope 整理 query
Read on →
 
over 2 years ago

本章的作業目標:

  • 建立使用者後台 ( 前置作業 )
  • 使用者可以在後台看到自己參加的 group
  • 使用可以在後台看到自己發表的 post
  • post 的排列要以時間 (最新 => 最舊) 順序排列
  • group 的排列要以 文章數量 當熱門度排列
  • bug 解決 => 當 group 刪除時,所屬的 posts 也要跟著刪除
Read on →
 
over 2 years ago

本章的作業目標:

  • 建立 討論版成員 ( group_user ) 設定
  • user 必須要是這個社團的成員才能發表文章
  • user 可以在 group 頁面 加入 / 退出 此 group
  • User 在建立 group 後自動成為 group 的一員
  • 若不是 group 創辦人,就不會顯示 edit 按鈕
Read on →
 
over 2 years ago

本章的作業目標:

  • 安裝 gem "devise"
  • 在 navbar 安裝登入/登出按鈕
  • 調整修改 devise views ( 註冊, 登入, 修改帳號頁面 ... etc)
  • 利用 before_action :authenticate_user! 來做要求登入的設定
  • 客製化 devise => 新增一個 "name" 的欄位
  • 使用者功能 整合進 group / post 裡面 (作者機制)
  • 只有作者才能有 group / post 的修改/刪除權限
Read on →
 
over 2 years ago

本章的作業目標:

  • 可以在 Group 裡面 post 文章
  • 並且文章網址是使用 /group/1/post/2 這種網址表示。
  • 資料驗證: post 必須要有內容才能儲存 / 新增
  • 用 before_action 來整理重複的程式碼
Read on →
 
over 2 years ago

本章的作業目標:

  • 安裝 gem "simple_form"
  • 不用 Scaffold 實作出有 CRUD 功能的 group
  • 連前端網頁部分也做完
  • 資料驗證 => title 欄位不能空白
Read on →
 
over 2 years ago

本章的作業目標:

  • 建立一個討論版(group)
  • group 有 title 跟 description 二個欄位
  • 設定 routes 並建立首頁 => hello world!
  • 套入前端套件 Bootstrap
  • 建立 navbar 與 footer
  • 建立 notice_message
Read on →