跳到主要內容

Hi, rails! 來建立新網站吧!

在使用 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 可以用的指令。

留言

  1. ruby 1.9 有內建 gem,如果使用 ruby 1.9 ,則不需要再另外安裝 gem

    回覆刪除

張貼留言

這個網誌中的熱門文章

[lyrics] Imagine

Title: Imagine Artist: John Lennon Imagine there's no Heaven It's easy if you try No hell below us Above us only sky Imagine all the people Living for today Imagine there's no countries It isn't hard to do Nothing to kill or die for And no religion too Imagine all the people Living life in peace You may say that I'm a dreamer But I'm not the only one I hope someday you'll join us And the world will be as one Imagine no possessions I wonder if you can No need for greed or hunger A brotherhood of man Imagine all the people Sharing all the world You may say that I'm a dreamer But I'm not the only one I hope someday you'll join us And the world will live as one ----------------------------- 這首歌和歌詞是早就知道的,最近又再次聽起它並認真的讀了歌詞 真的,很感動,多麼美好的世界~ (遠目) 真的也無法形容浮現在腦中的畫面.... 只能用心來感受它吧! 同樣的東西在不同的時間下會有新的,全然不同的感受.... 也有許多事情,是要親自走過、痛過、經歷過,才能了解那份感受 寫這個沒什麼意義,只是紀錄當下的感覺罷了!

白揚瀑布

 

健保卡代號

IC卡載入後,欄位代碼之表示為: *(1)代表「同意器官捐贈,不同意安寧緩和醫療」 *(4)代表「同意器官捐贈,同意安寧緩和醫療,同意不 施行心肺復甦術」 *(7)代表「不同意器官捐贈,同意安寧緩和醫療,同意 不施行心肺復甦術」 *未註記 p.s: 今天看牙醫順便請醫生幫我看一下,醫生說是代號(4),簽成功了 :) ref: http://www.tho.org.tw/xms/read_attach.php?id=259