一、知識概要
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、PostgreSQL、SQLite、Oracle、SQL Server、DB2、或其他任何我們支持的系統。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。
后通過瀏覽器訪問:http://localhost:3000/posts 這個頁面已經為我們生成了增刪改查代碼
7)把你的rails網站啟動在端口888上
rails s -p 888
可以看到http://localhost:3000/posts變成了http://localhost:888/posts才能打開網頁:
點擊New Post
輸入信信息,點擊back,查看