Your posts match “ working-with-rails ” tag:

Working With Rails - 前言

Working with Rails

前言

我的目的: Know how to work with Rails within a week.

在 Ruby on Rails (以後我會用 Rails 來稱呼它) 界裡面有一位 xdite 前輩已經寫過一本 Rails 101 不是嗎?為什麼還要再寫一本呢?其實真正的原因是我想要藉這個機會

  1. 練習文筆
  2. 寫內部教育訓練文件
  3. 重新熟悉過 Rails
  4. 做筆記

所以,我才會再搞出這樣的一本書。

目前這一篇算是簡單地介紹,然後我大概會這樣寫這本書 …

開發的成品一樣是一個 Blog ,只因為一個 Blog 的練習就會擁有許多跟 Rails 基本會用到的東西。

  • CRUD
  • RESTful
  • 套件安裝 / 應用
  • Relationship
  • test
  • deploy

其中,因為 test 我還在學,所以這部分著墨的部分暫且不多,敬請見諒。

如何學習 Rails?

我回想 2006 年的時候我到底是怎樣從 PHP 來到 Rails 這個世界的?以及我是怎樣踏入並且開始能夠真正的去撰寫出一個網站的?那是好幾年前的事情了,當時的 Rails 版本還沒有到 1.1.6 而我在當時只不過是個小鬼 … 嗯,總之,我學 Rails 的方式很簡單,就是「不要問,做就對了」。

Rails 有兩個重要的觀念:

  • DRY (Don't Repeat Yourself) - 不要重造輪子
  • Convention Over Configuration - 慣例優於配置

第一點很簡單,別人有的我們就拿來用,沒特殊必要就不要重新再開發出一個一樣的東西。不過,第二點到底是什麼意思呢?其實在以前開發網站的時候,我們可以看到一些 Manifest 來設定某些專案,像是 .Net framework 就有一些設定檔來設定專案的基本資料,譬如像是命名、規範等等。

可是在 Rails 當中,這件事情不是最重要的,因為 Rails 已經給你了一些規範,你只要照著規範遵守就好,沒有必要再透過其他設定檔(這邊指的是開發的時候)來設定你的 Application 的開發流程與方式。

這樣的一個情況會導致有些學過其他 framework 或者其他語言的人開始就會覺得說 奇怪,為什麼這邊是這樣? 的感覺,但這個在 Rails 裡面是不足為奇的,因為大家都這麼做 … 所以社群才會強大起來。 Rails 是一個規範用很大的 Web framework ,所以當社群都用同樣的 rule 在走的時候,你能夠想像這樣壯大會有多快嗎 …

所以,先做再說,其他的以後再問吧 :)

關於本書

好啦,開始來列一下大綱,免得我寫到失控

  1. 安裝開發環境
  2. 開始建立一個 Rails 專案
  3. Controller,初次見面,你好
  4. Route,初次見面,你好
  5. Model,初次見面,你好
  6. View,初次見面,你好
  7. Scaffold,初次見面,你好
  8. Gemfile,初次見面,你好
  9. 開始建立 Blog
  10. 文章系統
  11. 評論系統
  12. Model!請告訴我如何建立關聯
  13. Route!請告訴我如何建立網址
  14. Controller!請告訴我如何綁定關係
  15. View!請告訴我如何使用 partial
  16. 換掉吧!那內建的 form_for
  17. 改用吧! Bootstrap 不好嗎?
  18. Hello … 咖啡 Script
  19. Hello … SCSS
  20. Helper … Help me!
  21. 人家喜歡有會員
  22. Facebook 登入不好嗎?
  23. 差不多該公開了哦

反正這本書就當做作功德,但是我個人接受捐款哦 ;)

Working with Rails - 開發環境

Working with Rails - 安裝開發環境

請原諒我,我只知道怎樣安裝 Mac 跟 Linux 的開發環境,所以如果你是 Windows user … 有兩個 Solution 可以解:

  1. 重灌成 Linux 或透過 VMWare or Virtual Box 安裝 Linux (推薦 Ubuntu)
  2. 買一台 Mac ,有很多店家都有分期零利率的方案,買一台 Mac mini 回家(不到兩萬塊)你就可以享受超棒的開發環境了 … (因為買來就可以跑 Ruby 了 …)

所以,請準備上述兩個東西的其中一種吧 …

Mac

Mac 的作業系統最後改名稱為 OS X 。

在 OS X 上我們其實已經有一個內建的 Ruby 版本可以用,版本是 1.8.7 ,這個非常的不夠用,所以我們還是得自己裝一點東西來用。

安裝 XCode

XCode 可以上去 App Store 上下載,這個工具是免費的,不過你可能需要一組 Apple ID ,辦一個是很值得的一件事 (你以後就會知道我為什麼這樣說了)。

安裝好 XCode 後按下 command + , 開啓偏好設定,在偏好設定裡面有一個「Download」的分頁,安裝「Command line tools」,這樣會安裝 gcc 等東西。

安裝 Homebrew

這個是用來安裝系統軟體的東西,像是 curl, wget, git … etc

請在你的 Mac 上執行這段程式碼: ruby -e "$(curl -fsSL https://raw.github.com/mxcl/homebrew/go)"

裝好 homebrew 之後我們要來裝幾個比較重要的東西

brew install curl
brew install wget
brew install git
brew update
brew tap homebrew/dupes
brew install apple-gcc42

安裝 Imagemagick

之所以要安裝這個東西是因為未來可能會透過 rmagick 來裁切你上傳的圖片,這時候就得透過 imagemagick 來協助了。

不過在 OS X 10.8 之後 Apple 把 X11 support 拿掉了,所以必須手動下載安裝: http://xquartz.macosforge.org/landing/ 後再執行 brew install imagemagick就可以了。

安裝 MySQL

brew install mysql

安裝 RVM 與 Ruby 2.0

curl -L https://get.rvm.io | bash -s stable --autolibs=enabled (這個是在 RVM 的 Github 首頁看到的教學)

安裝好之後,執行底下兩行

. ~/.profile
source ~/.profile

這樣 rvm 就安裝好了,開始安裝 ruby 2.0

brew install libyaml
rvm pkg install openssl
rvm install 2.0.0 --with-openssl-dir=$HOME/.rvm/usr --verify-downloads 1

安裝好之後執行 rvm use 2.0.0 --default (這樣會設定成此電腦的預設版本)

安裝 Rails

安裝之前,我們要先執行以下這段 script

echo "gem: --no-ri --no-rdoc" > ~/.gemrc

然後再

gem i rails
gem i mysql2
gem i capistrano capistrano-ext

安裝好用工具 powder

Pow 是 37 Signals 開發出來的一個很棒的東西,讓你檢視自己的開發進度時不需要用 http://localhost:3000 這種需要 port number 的網址,可以用 http://blog.dev 這樣的網址。

而 powder 是一個讓 pow 可以更容易使用的工具,我們將透過 powder 來安裝 pow。

gem i powder
powder install

這樣就可以了。

開發工具

在開發工具上面,以前我會推薦 Textmate 這套來開發,不過現在我會推薦 Sublime Text 2 來開發撰寫,底下是我常用的工具:

  • Google Chrome
  • Sublime Text 2
  • iTerm 2 (終端機軟體,非常好用)
  • Sequel Pro (MySQL Client,以前叫做 CocoaMySQL ,很好用)

Linux

(TODO)