在使用 rails 建立網站之前,首要之務是:安裝 rails !!
新版的 ruby 預設都裝了 gem。gem 是 ruby 的套件管理程式,它可以讓我們很方便的安裝或刪除 ruby 的套件。安裝 rails 只要
gem install rails
稍待一會,就可以裝好 rails 了!
在 rails 利用 scaffold 是快速建網站的選擇,只要一行指令就可以完成一個具有基本功能的網站。例如:
rails g scaffold Blog title:string article:text author:string
( g 是 generate 的意思,下 rails generate 或 rails g 都可以 )
如此,即完成一個可以編寫文章的簡易部落格了!
雖然 scaffold 很方便,不過還是要了解 rails 一下的運作才是。
Rails 導入了 MVC(model, view, controller)的觀念,簡單的想成:model 為資料庫端的管理,view 為網頁端輸出控制,而 controller 為網頁端和資料庫端的中介層。
以下不要使用 scaffold,一步步的以 MVC 的觀念來建立一個網站:
首先,產生一個新的專案(也可以直接使用既有的專案)
rails new bluffing
進入專案中
cd bluffing
建立 model,並命名為 User
rails g model User username:string password:string created_date:timestamp
在建立 model 時,我們順便建立了 3 個欄位,分別是 username, password , 以及 created_date。在欄位名後的代表資料屬性。
有了 model 後,接下來建立 controller
rails g controller Users index new
我們建立一個名為 Users 的 controller,順便建立了 index 和 new 這兩個 actions。Rails 預設就會建立一些 actions,例如 index,這些會記錄在 ./app/controllers/_controller.rb 中。
重整資料庫
rake db:migrate
在使用 rails 時,建議遵循 rails 所規範的格式。當然,如果高興的話,是可以自己任意修改的。( 一開始自己也沒有按照 rails 的規範,不過經過一番實驗與嘗試後,其實最後命名的習慣和邏輯都會像 rails 一開始的規範。繞了一大圈,不如一開始就直接遵守 rails )
若在進行的過程中,突然想要新增欄位,可以這樣子做:
rails g migration AddEmailColumnToUsers email:string
格式是 AddaaaColumnTobbb 或 (RemoveaaaColumnTobbb)
aaa 是欄位名稱,bbb 是 table 名稱。同樣地,新增完欄位也要做一下 rake db:migrate
rake 相當於 make,我們可以使用 rake -T 查看所有的 rake 可以用的指令。
新版的 ruby 預設都裝了 gem。gem 是 ruby 的套件管理程式,它可以讓我們很方便的安裝或刪除 ruby 的套件。安裝 rails 只要
gem install rails
稍待一會,就可以裝好 rails 了!
在 rails 利用 scaffold 是快速建網站的選擇,只要一行指令就可以完成一個具有基本功能的網站。例如:
rails g scaffold Blog title:string article:text author:string
( g 是 generate 的意思,下 rails generate 或 rails g 都可以 )
如此,即完成一個可以編寫文章的簡易部落格了!
雖然 scaffold 很方便,不過還是要了解 rails 一下的運作才是。
Rails 導入了 MVC(model, view, controller)的觀念,簡單的想成:model 為資料庫端的管理,view 為網頁端輸出控制,而 controller 為網頁端和資料庫端的中介層。
以下不要使用 scaffold,一步步的以 MVC 的觀念來建立一個網站:
首先,產生一個新的專案(也可以直接使用既有的專案)
rails new bluffing
進入專案中
cd bluffing
建立 model,並命名為 User
rails g model User username:string password:string created_date:timestamp
在建立 model 時,我們順便建立了 3 個欄位,分別是 username, password , 以及 created_date。在欄位名後的代表資料屬性。
有了 model 後,接下來建立 controller
rails g controller Users index new
我們建立一個名為 Users 的 controller,順便建立了 index 和 new 這兩個 actions。Rails 預設就會建立一些 actions,例如 index,這些會記錄在 ./app/controllers/
重整資料庫
rake db:migrate
在使用 rails 時,建議遵循 rails 所規範的格式。當然,如果高興的話,是可以自己任意修改的。( 一開始自己也沒有按照 rails 的規範,不過經過一番實驗與嘗試後,其實最後命名的習慣和邏輯都會像 rails 一開始的規範。繞了一大圈,不如一開始就直接遵守 rails )
若在進行的過程中,突然想要新增欄位,可以這樣子做:
rails g migration AddEmailColumnToUsers email:string
格式是 AddaaaColumnTobbb 或 (RemoveaaaColumnTobbb)
aaa 是欄位名稱,bbb 是 table 名稱。同樣地,新增完欄位也要做一下 rake db:migrate
rake 相當於 make,我們可以使用 rake -T 查看所有的 rake 可以用的指令。
ruby 1.9 有內建 gem,如果使用 ruby 1.9 ,則不需要再另外安裝 gem
回覆刪除