windows下Ruby on rails 學習筆記

一、知識概要

1.Ruby簡介

(1)Ruby是一種開源的面向對象程序設計的服務器端腳本語言,與很python接近,但更為簡潔優雅;

(2)Ruby 是一種通用的、解釋的、真正的面向對象編程語言,也是一種類似于 Python 和 Perl 的服務器端腳本語言;

(3)Ruby 可以用來編寫通用網關接口(CGI)腳本,也可以被嵌入到超文本標記語言(HTML)。

(4)Ruby 語法簡單,有豐富的內置函數,可以直接在 Ruby 腳本中使用這使得新的開發人員能夠快速輕松地學習 Ruby。,

(5)Ruby 可擴展性強,用 Ruby 編寫的大程序易于維護;

(6) Ruby可用于開發的 Internet 和 Intranet 應用程序。

(7)ruby三原則及優點:

? ? ? ? ? ? 一切都是對象;

? ? ? ? ? ? 每一個操作都是調用方法;

? ? ? ? ? ?所有的編程都是元模型 ?(類和方法可以在任何時候添加或改變;即使程序已經運行;動態類型,對象有類型,而變量沒有)。

2.Rails

不同于已有復雜的Web開發框架,Rails結合了PHP體系的優點(快速開發)和Java體系的優點(程序規整),是一個更符合實際需要而且更高效的Web開發框架。

3.Ruby on Rails

Ruby?on Rails 是一個用于開發數據庫驅動的網絡應用程序的完整框架。Rails基于MVC(模型- 視圖- 控制器)設計模式。從視圖中的Ajax應用,到控制器中的訪問請求和反饋,到封裝數據庫的模型,Rails 為你提供一個純Ruby的開發環境。發布網站時,你只需要一個數據庫和一個網絡服務器即可。

Ruby On Rails是一個用于編寫網絡應用程序的軟件包.它基于一種計算機軟件語言Ruby,給程序開發人員提供了強大的框架支持.你可以用比以前少的多的代碼和 短的多的時間編寫出一流的網絡軟件。

Ruby On Rails的指導原則是”不要重復你自己”(Don’t Repeat Yourself, 或DRY).意思是說你寫的代碼不會有重復的地方.比如以往數據庫的接口往往是類似的程序代碼但是在很多地方都要重復用到.這無論是給編寫還是維護都造成 了很大的代價.相反,Ruby On Rails給你提供了絕大多數的支持,讓你只需要短短的幾行代碼就可以實現強大的功能.而且,Rails提供了代碼生成工具,讓你甚至不需要編寫一行代碼 就實現強大的管理程序.

Ruby On Rails通過reflection和runtime extension減少了對configuration文件的依靠,這和Java,C#語言的方向有很大不同,讓你減少了很多配置和部署的麻煩,但是性能上卻完全可以應付一般網站的需求.

Rails 支持各類網絡服務器和數據庫。在服務器方面,我們推薦Apache、 lighttpd 或 nginx 代理至 Mongrel (或者使用FastCGI)。數據庫方面,你可以采用MySQL、PostgreSQLSQLiteOracleSQL ServerDB2、或其他任何我們支持的系統。Rails可以在各類操作系統上運行,不過我們建議采用基于unix的系統進行開發。

二、安裝Ruby

1、官網rubyInstaller下載ruby應用程序

2.雙擊已下載的ruby應用程序,安裝ruby

3.打開CMD,輸入ruby -v 驗證是否安裝成功


三、下載并安裝Rails

先在命令行輸入gem install rails安裝rails,安裝完成后輸入ruby -v 驗證是否安裝成功。

出現如下錯誤提示

所以安裝rails前需安裝DevKit。


四、下載并安裝DevKit

DevKit 是windows平臺下編譯和使用本地C/C++擴展包的工具,用來模擬Linux平臺下的make, gcc, sh來進行編譯。這個方法目前僅支持通過RubyInstaller安裝的Ruby。

1、下載Devkit

2.安裝Devkit

1) 將下載 的DevKit 解壓到 某個新建文件夾下(如:D:\Ruby\DevKit):

2) 打開 CMD 窗口,進入 D:\Ruby\DevKit目錄,輸入ruby dk.rb init 。#生成config.yml,這里會檢查將要添加DevKit支持的Ruby列表,只支持通過RubyInstaller安裝的Ruby。

3) 輸入 ruby dk.rb install? #開始安裝

4) 輸入 ruby dk.rb review? #檢查要添加DevKit支持的Ruby列表是否有誤,可以略過

5) 輸入 gem install rdiscount --platform=ruby 。#這一步只是驗證DevKit是否安裝成功,如果能安裝rdiscount成功說明安裝DevKit成功,也可以不做。

3.再按“步驟二”安裝rails

五、安裝RubyMine用于編寫和查看rails創建的項目代碼

RubyMine 是一個全新的為Ruby 和 Rails開發者準備的 IDE (非開源且收費),RubyMine由 JetBrains 開發(JetBrains最著名的產品之一就是Java IDE:IntellJ IDEA了!)。RubyMine是建立在IntellJ IDEA平臺之上,提供所有必須的IDE功能,比如編輯,調試工具,源代碼控制集成,代碼自動提示完成,以及其他功能。專門為ruby打造的功能有基于 GUI 支持的 RSpec 和 Test::Unit。

1.官網Download RubyMine下載RubyMine

2.雙擊下載的RubyMime.exe安裝RubyMime

3.打開安裝好的RubyMine


六、創建空的rails網頁框架

1、創建一個新文件夾(如:D:\Ruby\Project)用于存放rails項目文件,打開CMD提示窗口,進入D盤的Project文件夾,輸入指令:rails new ruby,會在Project文件夾下將創建名稱為ruby的rails項目結構。

2.在命令行下轉到項目目錄,運行:rails server 啟動服務

打開瀏覽器輸入http://127.0.0.1:3000就可以看到初始化頁面了:

3.讓Rails說 "Hello"

Rails是一個MVC框架,Rails接收來自瀏覽器的請求,對請求進行解讀以找到合適的控制器,再調用控制器中合適的方法。然后,控制調用合適的視圖,把結果顯示給用戶。Rails提供了快速創建視圖和控制的方法,打開CMD命令窗口。進入到剛才的www項目目錄,輸入命令:rails generate controller say hello 如圖:

打開網頁http://localhost:3000/say/hello,若出現異常

則用RubyMine打開rails項目,按網頁錯誤提示路徑打開異常代碼,將錯誤部分注釋掉或者刪除,如下:

在CMD輸入重新啟動Server

也可以直接在RubyMine的命令行窗口輸入rails Server啟動Server,

打開http://localhost:3000/say/hello:


七、創建一個使用MySQL數據庫的Rails項目

1.打開CMD窗口,進入自定的項目保存目錄(如:D:\Ruby\Project),輸入命令:rails new work --database《使用的數據庫》(如:rails new work --databasemysql),在project目錄下創建名稱為work 的rails 項目結構。

2. 必須將數據庫lib目錄里的libmysql.dll庫拷貝到 Ruby安裝目錄的Bin目錄下。否則在啟動服務器時候會提示:“沒有找到LIBMYSQL.dll,因此這個應用程序未能啟動。重新安裝應用程序可能會修復此問題。”

可以使用mysql-connector,下載地址:

http://www.mysql.com/downloads/connector/c/

或者wampServer,下載地址:

http://download.csdn.net/detail/heshi_yao/8874515?locationNum=3&fps=1

我最終使用的是wampServer的mysql里的libmysql.dll。

wampServer安裝可參考wampserver安裝筆記

先打開wampserver連接數據庫,在啟動Server,后打開http://127.0.0.1:3000/,如下:

3).修改數據庫的配置信息。在 /項目目錄/config/database.yml 文件中,分別對應 “開發”、“測試”,“生產” 數據庫的配置,把他們修改為自己的配置。

其中development是我們開發中要實際使用的數據庫。一定要注意在username: 和 password: 后面至少要保留一個空格。

4.在CMD窗口輸入rake db:craete? 命令,會在msyql 中創建由配置信息中所設置的數據庫。

5.我們用scaffold來生成代碼,在CMD中輸入下面指令:

rails generate scaffold post title:string body:string addTime:datetime

這時候會創建controller, views, models和數據庫腳本,但此時還沒有創建表。

再輸入:rake db:migrate 創建表。完成。

6.執行命令rails server,打開網頁http://localhost:3000/posts 訪問頁面已經生成的增刪改查代碼,可能出現異常:

解決方法,安裝node.js.再重啟Server。

Node.js安裝筆記

后通過瀏覽器訪問:http://localhost:3000/posts 這個頁面已經為我們生成了增刪改查代碼

7)把你的rails網站啟動在端口888上

rails s -p 888

可以看到http://localhost:3000/posts變成了http://localhost:888/posts才能打開網頁:

點擊New Post

輸入信信息,點擊back,查看

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
平臺聲明:文章內容(如有圖片或視頻亦包括在內)由作者上傳并發布,文章內容僅代表作者本人觀點,簡書系信息發布平臺,僅提供信息存儲服務。
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子,更是在濱河造成了極大的恐慌,老刑警劉巖,帶你破解...
    沈念sama閱讀 228,936評論 6 535
  • 序言:濱河連續發生了三起死亡事件,死亡現場離奇詭異,居然都是意外死亡,警方通過查閱死者的電腦和手機,發現死者居然都...
    沈念sama閱讀 98,744評論 3 421
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人,你說我怎么就攤上這事。” “怎么了?”我有些...
    開封第一講書人閱讀 176,879評論 0 381
  • 文/不壞的土叔 我叫張陵,是天一觀的道長。 經常有香客問我,道長,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 63,181評論 1 315
  • 正文 為了忘掉前任,我火速辦了婚禮,結果婚禮上,老公的妹妹穿的比我還像新娘。我一直安慰自己,他們只是感情好,可當我...
    茶點故事閱讀 71,935評論 6 410
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著,像睡著了一般。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發上,一...
    開封第一講書人閱讀 55,325評論 1 324
  • 那天,我揣著相機與錄音,去河邊找鬼。 笑死,一個胖子當著我的面吹牛,可吹牛的內容都是我干的。 我是一名探鬼主播,決...
    沈念sama閱讀 43,384評論 3 443
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼!你這毒婦竟也來了?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 42,534評論 0 289
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后,有當地人在樹林里發現了一具尸體,經...
    沈念sama閱讀 49,084評論 1 335
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 40,892評論 3 356
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發現自己被綠了。 大學時的朋友給我發了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 43,067評論 1 371
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情,我是刑警寧澤,帶...
    沈念sama閱讀 38,623評論 5 362
  • 正文 年R本政府宣布,位于F島的核電站,受9級特大地震影響,放射性物質發生泄漏。R本人自食惡果不足惜,卻給世界環境...
    茶點故事閱讀 44,322評論 3 347
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 34,735評論 0 27
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至,卻和暖如春,著一層夾襖步出監牢的瞬間,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 35,990評論 1 289
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人。 一個月前我還...
    沈念sama閱讀 51,800評論 3 395
  • 正文 我出身青樓,卻偏偏與公主長得像,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 48,084評論 2 375

推薦閱讀更多精彩內容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,674評論 25 708
  • 快開始上班了,接下來的日子該更有意義一點,因為有目標。以后每天晚飯吃一個葉酸,但愿今年能如愿懷上二胎,同時還完房貸...
    云牽閱讀 128評論 0 0
  • 李小白: 新絲路時尚集團創始人、名譽董事長 2016中國馬拉松年度人物 2016年完成世界馬拉松六大滿貫 2017...
    lele42195閱讀 377評論 0 0