我們在使用Rails之前,讓我們知道一點(diǎn)點(diǎn)關(guān)于Ruby是Rails的基礎(chǔ)。
Ruby 是成功的結(jié)合:
Ruby 是
Ruby在日本,美國和歐洲越來越受歡迎。以下是最大的因素:
下面是一個(gè)示例Ruby代碼打印 "Hello Ruby"
# The Hello Class
class Hello
def initialize( name )
@name = name.capitalize
end
def salute
puts "Hello #{@name}!"
end
end
# Create a new object
h = Hello.new("Ruby")
# Output "Hello Ruby!"
h.salute
|
Ruby 提供了一個(gè)叫ERb(嵌入式的Ruby),由Seki Masatoshi編寫的程序。ERB允許把一個(gè)HTML文件里面加入Ruby代碼。ERb逐字逐句,然后在某一個(gè)點(diǎn)時(shí),看到Ruby代碼嵌入到文檔中看到,它已經(jīng)填補(bǔ)一個(gè)空白,它通過執(zhí)行Ruby代碼。
需要知道的只有兩件事情,準(zhǔn)備ERb的文件:
如果想執(zhí)行一些Ruby代碼,請將它寫在 <% 和 %>之間
如果想執(zhí)行的代碼打印出來的結(jié)果,作為輸出的一部分,請將代碼寫入到 <%= 和 %>之間.
下面是一個(gè)例子,保存的代碼在erbdemo.rb文件。請注意Ruby的文件將有擴(kuò)展 .rb
<% 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> |
現(xiàn)在,運(yùn)行程序,使用命令行實(shí)用程序 erb
c:\ruby\>erb erbdemo.rb |
這將產(chǎn)生以下結(jié)果:
<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是包裝功能,更有效率,許多基礎(chǔ)上另一個(gè)具有以下特點(diǎn)。
元編程 : 其他框架使用大量的代碼生成從零開始。使用元編程技術(shù)方案編寫程序。 Ruby是的元編程最好的語言之一,Rails使用此功能。Rails的也采用代碼生成,元編程繁重,但更依賴。
活動記錄 : Rails 介紹活動記錄的框架,這將對象保存到數(shù)據(jù)庫?;顒佑涗洶l(fā)現(xiàn) Rails版本的數(shù)據(jù)庫架構(gòu)中的列,并自動附加到對象域使用元編程。
約定優(yōu)于配置: 大多數(shù)Web開發(fā)框架.NET或Java,迫使寫配置代碼的頁面。如果遵循建議的命名約定時(shí),Rails不需要太多的配置。
腳手架: 經(jīng)常在發(fā)展的早期階段,以幫助應(yīng)用程序快速創(chuàng)建臨時(shí)代碼,主要組成部分是如何一起工作。 Rails自動創(chuàng)建很多需要的腳手架。
內(nèi)置測試: Rails創(chuàng)建簡單的自動化測試,也可以擴(kuò)展。Rails也提供支持所謂的安全帶及裝置,使更容易編寫和運(yùn)行測試用例的代碼。 Ruby可以執(zhí)行所有耙子實(shí)用程序的自動化測試。
三種環(huán)境: Rails 提供了三種默認(rèn)的環(huán)境:開發(fā),測試和生產(chǎn)。每個(gè)人的行為方式略有不同,更容易使整個(gè)軟件開發(fā)周期。例如,Rails的測試數(shù)據(jù)庫中創(chuàng)建一個(gè)新的副本,每個(gè)測試運(yùn)行。