- 學習 Ruby on Rails
- Rails 2.1 首頁
- Rails 2.1 簡介
- Rails 2.1 安裝
- Rails 2.1 框架
- Rails 2.1 目錄結構
- Rails 2.1 示例
- Rails 2.1 資料庫設定
- Rails 2.1 Active Records
- Rails 2.1 遷移
- Rails 2.1 控制器
- Rails 2.1 檢視
- Rails 2.1 佈局
- Rails 2.1 腳手架
- Rails 2.1 和 AJAX
- Rails 2.1 上傳檔案
- Rails 2.1 傳送郵件
- 高階 Ruby on Rails 2.1
- Rails 2.1 RMagick 指南
- Rails 2.1 基本 HTTP 認證
- Rails 2.1 錯誤處理
- Rails 2.1 路由系統
- Rails 2.1 單元測試
- 高階 Ruby on Rails 2.1
- Rails 2.1 提示與技巧
- 快速參考指南
- 快速參考指南
- Ruby on Rails 2.1 有用資源
- Ruby on Rails 2.1 - 資源
- Ruby on Rails 2.1 - 討論
Ruby on Rails 2.1 - 簡介
什麼是 Ruby?
在我們開始使用 Rails 之前,讓我們回顧一下 Ruby 的一些要點,它是 Rails 的基礎。
Ruby 是以下元素的成功組合:
- Smalltalk 的概念優雅性,
- Python 的易用性和學習性,以及
- Perl 的實用性。
Ruby 是
- 一種高階程式語言。
- 像 Perl、Python、Tcl/TK 一樣被解釋執行。
- 像 Smalltalk、Eiffel、Ada、Java 一樣面向物件。
為什麼選擇 Ruby?
Ruby 起源於日本,現在在美國和歐洲也越來越受歡迎。以下因素促成了它的流行:
- 易於學習
- 開源(非常寬鬆的許可證)
- 豐富的庫
- 非常容易擴充套件
- 真正面向物件
- 程式碼量少,錯誤少
- 有幫助的社群
儘管我們有很多理由使用 Ruby,但也有一些缺點需要在實施 Ruby 之前考慮:
效能問題 - 雖然它可以與 Perl 和 Python 相媲美,但它仍然是一種解釋型語言,我們無法將其與 C 或 C++ 等高階程式語言相比較。
執行緒模型 - Ruby 不使用原生執行緒。Ruby 執行緒是在虛擬機器中模擬的,而不是作為原生作業系統執行緒執行。
Ruby 程式碼示例
這是一個列印“Hello Ruby”的 Ruby 程式碼示例。
#!/usr/bin/ruby -w
# The Hello Class
class Hello
# Define constructor for the class
def initialize( name )
@name = name.capitalize
end
# Define a ruby method
def salute
puts "Hello #{@name}!"
end
end
# Create a new object for Hello class
obj = Hello.new("Ruby")
# Call ruby method
obj.salute
這將產生以下結果:
Hello Ruby
要全面瞭解Ruby,請參閱我們的Ruby 教程
嵌入式 Ruby
Ruby 提供了一個名為 ERb(Embedded Ruby)的程式,由Seki Masatoshi編寫。ERb 允許您將 Ruby 程式碼放入 HTML 檔案中。ERb 一字一句地讀取,然後在遇到 Ruby 程式碼時,開始執行該程式碼。
您只需要瞭解兩件事即可準備 ERb 文件:
如果要執行一些 Ruby 程式碼,請將其括在<%和%>之間。
如果希望程式碼執行的結果作為輸出的一部分打印出來,請將其括在<%=和%>之間。
這是一個例子。將程式碼儲存在 erbdemo.erb 檔案中。請注意,Ruby 檔案的副檔名為.rb,而嵌入式 Ruby 檔案的副檔名為.erb。
<% page_title = "Demonstration of ERb" %>
<% salutation = "Dear programmer," %>
<html>
<head>
<title><%= page_title %></title>
</head>
<body>
<p><%= salutation %></p>
<p>This is an example of how ERb fills out a template.</p>
</body>
</html>
現在,使用命令列實用程式 erb 執行程式。
c:\ruby\>erb erbdemo.erb
這將產生以下結果:
<html>
<head>
<title>Demonstration of ERb</title>
</head>
<body>
<p>Dear programmer,</p>
<p>This is an example of how ERb fills out a template.</p>
</body>
</html>
什麼是 Rails?
一個極具生產力的 Web 應用框架。
使用 Rails 開發 Web 應用的速度至少可以比使用典型的 Java 框架快十倍。
一個用於開發資料庫支援的 Web 應用的開源 Ruby 框架。
您的程式碼和資料庫模式就是配置!
無需編譯階段。
全棧框架
包含使用模型-檢視-控制器 (MVC) 模式建立資料庫驅動 Web 應用所需的一切。
作為全棧框架意味著所有層都構建為以更少的程式碼無縫協作。
需要的程式碼行數少於其他框架。
約定優於配置
Rails 摒棄配置檔案,轉而採用約定、反射和動態執行時擴充套件。
您的應用程式程式碼和正在執行的資料庫已經包含 Rails 需要知道的一切!
不要重複自己 (DRY)
DRY 是您經常聽到與 Ruby on Rails 相關的口號,這意味著您只需要編寫一次行為,並且永遠不必在兩個不同的地方編寫類似的程式碼。這很重要,因為您只需在一個地方修改程式碼,就減少了出錯的可能性。
Rails 的優勢
Rails 擁有眾多功能,使您能夠提高生產力,其中許多功能都建立在彼此之上。
超程式設計 - 其他框架使用從頭開始的廣泛程式碼生成。超程式設計技術使用程式來編寫程式。Ruby 是最適合超程式設計的語言之一,Rails 很好地利用了這種能力。Rails 也使用程式碼生成,但更多地依賴超程式設計來完成繁重的工作。
Active Record - Rails 引入了 Active Record 框架,該框架將物件儲存到資料庫中。Rails 版本的 Active Record 發現數據庫模式中的列,並使用超程式設計自動將它們附加到您的領域物件。
約定優於配置 - 大多數 .NET 或 Java 的 Web 開發框架都迫使您編寫大量的配置程式碼。如果您遵循建議的命名約定,Rails 不需要太多配置。
腳手架 - 您通常在開發的早期階段建立臨時程式碼,以幫助快速啟動應用程式並瞭解主要元件如何協同工作。Rails 自動建立您需要的大部分腳手架。
核心 Ajax - Ajax 是一種已成為標準的技術,用於為網站提供互動性,而不會造成干擾。Ruby on Rails 對 Ajax 技術有很好的支援,並且它是核心庫的一部分。因此,當您安裝 RoR 時,Ajax 支援也會同時提供給您。
內建測試 - Rails 建立簡單的自動化測試,然後您可以擴充套件這些測試。Rails 還提供稱為 harness 和 fixture 的支援程式碼,使測試用例更容易編寫和執行。然後,Ruby 可以使用 rake 實用程式執行所有自動化測試。
三個環境 - Rails 為您提供了三個預設環境 - 開發、測試和生產。每個環境的行為略有不同,使您的整個軟體開發生命週期變得更加輕鬆。例如,Rails 為每次測試執行建立測試資料庫的新副本。
什麼是 Rails 2.1.0?
這是 Ruby on Rails 的最新版本,由 Rails 核心團隊於 2008 年 5 月 31 日星期六發布。
此版本是對 RoR 2.0 的進一步改進,RoR 2.0 本身就是一個非常棒的版本,包含了大量很棒的新功能、大量的修復以及比其之前的版本 RoR 1.2.x 更加出色的完善。
本教程將引導您瞭解最新 RoR 版本 2.1.0 中的所有重要功能。
在本教程之後,您應該能夠使用稱為 Ruby on Rails v2.1.0 的最佳 Web 2.0 技術之一來構建您的網站。