Rails3 入門之三 新建乙個rails工程

2021-05-28 06:44:02 字數 4702 閱讀 7622

如果你按照這個嚮導,你將會新建乙個rails工程叫blog,

乙個非常簡單的webblog。在你開始新建乙個rails工程之前,請確保你是否安裝了rails.

例子裡面使用#和$來表示終端的提示符。如果你使用windows,你的終端提示符

應該是像這樣的 c:/source_code

3.1 安裝rails

在大多數情況下,最簡單的安裝rails是使用rubygem.

通常使用 root 使用者執行這個命令:
$ gem install rails
3.2 新建乙個blog應用程式

使用這個嚮導的最好的方法就是根據每一步發生的。沒有**或

使這個例子應用程式所需的步驟已被排除在外,所以你可以從字面上跟著一步一步走。

一開始,開啟乙個終端,cd到乙個有足夠許可權的資料夾下,輸入

$ rails new blog
這個命令將會在這個目錄建立乙個叫做blog的rails應用程式。

你可以通過rails new -h命令檢視所有的幫助
在你建立完blog應用程式之後,轉到blog目錄下,繼續我們的學習。

$ cd blog
在任何情況下,rails將會建乙個blog目錄在你的工作目錄。開啟這個資料夾

但在這裡介紹下rails建立新的應用程式在預設情況下每個資料夾的

功能的基本綱要。

檔案/資料夾

目的gemfile

這個檔案允許你指定你的rails程式裡面依賴的gem。請看下面的bundler章節。

readme

這是乙個關於你的應用程式的簡要的說明。你應該編輯這個檔案去告訴別人你的程式是幹什麼的,怎樣設定等等資訊。

rakefile

這個檔案定義任務和裝載任務,這些任務可以從命令列中執行。通過rails元件來定義這些任務。不需要改變rakefile,你應該增加自己的任務通過增加檔案到你應用程式的lib/tasks目錄下。

包含控制器, 模型,檢視 和你應用程式的資產(assets)。本指南的其餘部分,您將重點放在這個資料夾。

config/

配置你應用程式的執行規則,路由,資料庫等等。

config.ru

用來伺服器啟動應用程式的rack設定。(rack是乙個web伺服器和ruby程式以及框架的介面)

db/顯示你當前資料庫和資料庫的整合。你不久將會學到資料庫的整合。

doc/

你的應用程式的相關文件。

lib/

你應用程式的模組擴充套件。(本指南裡未提及)

log/

應用程式的日誌檔案。

public/

使用者唯一看到的資料夾。包含靜態檔案和編譯過的資產(assets)。

script/

包含啟動你的應用程式的指令碼和其他發布你應用程式的指令碼。

test/

tmp/

臨時檔案。

vendor/

乙個存放第三方**的地方. 在乙個典型的rails應用程式裡面,包含ruby gems,rails**(如果把rails**安裝到你的工程裡面的話)和包含額外功能的打包好的外掛程式。

3.3  配置資料庫

像大多數rails程式,將會與資料庫互動。資料庫被指定在乙個配置檔案(config/database.yml)。

如果你開啟新建的rails應用程式的這個配置檔案,你會發現預設的資料庫配置使用的是sqlite3.

這個檔案預設包含3種不同的執行環境。

。開發(development )執行環境是你執行在開發機器上的環境。你可以手動的與應用程式進行互動。

。測試(test)執行環境是用來執行自動測試的。

。產品(production)執行環境是用來當你向全世界發布你的產品的時候執行的環境。

3.3.1 配置乙個sqlite3資料庫

rails附帶內建sqlite3的支援,這是乙個輕量級的伺服器資料庫應用程式。

雖然繁忙的production環境可能超載的sqlite。但是它工作在開發和測試

環境裡面還是蠻好的。rails預設使用sqlite資料庫新建乙個工程,但是你在

之後可以任意修改的。

這裡是乙個預設的開發環境的資料庫配置檔案(config/database.yml)。

development:   

adapter: sqlite3

database: db/development.sqlite3

pool: 5

timeout: 5000

在這個嚮導裡面我們使用sqlite3資料庫作為資料儲存。因為它是乙個0配置的資料庫。

rails也支援mysql 和 postgresql 。並且有很多其他資料庫的外掛程式。

如果你在產品環境中使用資料庫,應該會有對應的介面卡。

3.3.2 配置乙個mysql資料庫

如果你選擇mysql代替sqlite3。你的配置檔案(config/database.yml)是和sqlite3有點區別的。

下面是開發環境的例子。

development:   

adapter: mysql2

encoding: utf8

database: blog_development

pool: 5

username: root

password:

socket: /tmp/mysql.sock

如果你的mysql資料庫有root使用者並且密碼為空的話。這個配置檔案可以直接使用的。

否則請修改使用者和密碼。

3.3.3 配置乙個postgresql 資料庫

如果你選擇postgresql 資料庫。那麼他的配置檔案應該像下面一樣。

development:   

adapter: postgresql

encoding: unicode

database: blog_development

pool: 5

username: blog

password:

3.3.4 配置乙個sqlite3 資料庫在jruby平台

如果你選擇使用sqlite3並且使用jruby。你的配置檔案應該像下面一樣。

你會發現少許不同。

development:   

adapter: jdbcsqlite3

database: db/development.sqlite3

3.3.5 配置乙個mysql資料庫在jruby平台

如果你選擇使用mysql並且使用jruby。你的配置檔案應該像下面一樣。

你會發現少許不同。

development:   

adapter: jdbcmysql

database: blog_development

username: root

password:

3.3.6 配置乙個postgresql資料庫在jruby平台

最後如果你選擇使用postgresql並且使用jruby。你的配置檔案應該像下面一樣。

你會發現少許不同。

development:   

adapter: jdbcpostgresql

encoding: unicode

database: blog_development

username: blog

password:

可以根據自己的環境修改使用者名稱和密碼。

你可以不需要手動更新資料庫配置檔案。如果你看過 rails new命令的

可選項,你會發現有個"-database"選項。這個選項允許你選擇乙個

經常使用的關聯式資料庫。你還可以再次允許rails new命令。

$ rails new blog --database=mysql

你會發現config/database.yml 裡面已經是mysql的配置,替換了原來

的sqlite.

3.4 新建資料庫

現在你已經配置好資料庫了。是時候讓rails給你新建乙個空資料庫了。

你可以執行以下命令。

$ rake db:create
這將會新建開發和測試的資料庫在db資料夾。

rake是在rails中做很多事用的命令。在你的工程目錄下執行rake -t 命令,你可以看見rake命令可以利用的所有

選項。

Rails3入門之十一 建立乙個多模型的form

你的blog還有乙個功能是給部落格加上tag。需要實現這個功能的話需要你在乙個form中實現多個模型的互動。rails支援巢狀的form。為了實現這些,我們將新增每個post多個tag。當你新建post時候,可以有多個tag。首先我們增加tag模型。rails generate model tag ...

新建乙個 3Ddemo

var scene new three.scene 建立乙個場景 var geomtry new three.boxgeometry 110,0.1,100 建立乙個物體模型 引數為 物體的 x y z 標量 var materil new three.meshlambertmaterial 建立物...

建立乙個rails3 engine

rails3中的engine 比較強大,現在寫gem,可以以 engine為基礎構建。而且慢慢地可以把rails程式分模組拆分。rails 3.1中更可以把engine以rake的方式載入。比如 建立乙個engine,有個 gem可讓我們的工作更加方便 url 事先安裝好enginex sudo g...