開始在MySQL中創建數據庫,分別用于:開發、測試、產品
create database chensite_development;
create database chensite_test;
create database chensite_production;
在開發庫中建表和插入數據:
use chensite_development;

drop table if exists titles;
create table titles (
id int not null auto_increment,
name varchar(100) not null,
url varchar(200) default NULL,
parent_id int default 0,
expanded tinyint(1) default 0,
level tinyint(1) default 0,
primary key (id)
)ENGINE=InnoDB DEFAULT CHARSET=utf8;

LOCK TABLES titles WRITE;
INSERT INTO titles VALUES(1,'AAAAAAAAA','http:\\www.AAAAAAAAA.com.cn',0,0,1);
INSERT INTO titles VALUES(2,'BBBBBBBBB','http:\\www.BBBBBBBBB.com.cn',0,0,1);
INSERT INTO titles VALUES(3,'CCCCCCCCC','http:\\www.CCCCCCCCC.com.cn',0,0,1);
INSERT INTO titles VALUES(4,'關于','http:\\www.DDDDDDDDD.com.cn',0,0,1);

INSERT INTO titles VALUES(5,'EEEEEEEEE','http:\\www.EEEEEEEEE.com.cn',2,0,2);
INSERT INTO titles VALUES(6,'FFFFFFFFF','http:\\www.FFFFFFFFF.com.cn',2,0,2);
INSERT INTO titles VALUES(7,'GGGGGGGGG','http:\\www.GGGGGGGGG.com.cn',2,0,2);
INSERT INTO titles VALUES(8,'HHHHHHHHH','http:\\www.HHHHHHHHH.com.cn',2,0,2);


UNLOCK TABLES;
配置數據庫連接: config\database.yml,主要是給連接三個數據庫的root用戶輸入密碼,在輸入密碼時要注意
:"password:"和密碼"123456"之間要有一個空格,密碼之后不要有空格,否則無法啟動WEB服務。
# MySQL (default setup). Versions 4.1 and 5.0 are recommended.
#
# Install the MySQL driver:
# gem install mysql
# On MacOS X:
# gem install mysql -- --include=/usr/local/lib
# On Windows:
# gem install mysql
# Choose the win32 build.
# Install MySQL and put its /bin directory on your path.
#
# And be sure to use new-style password hashing:
# http://dev.mysql.com/doc/refman/5.0/en/old-client.html
development:
adapter: mysql
database: chensite_development
username: root
password: 123456
host: localhost

# Warning: The database defined as 'test' will be erased and
# re-generated from your development database when you run 'rake'.
# Do not set this db to the same as development or production.
test:
adapter: mysql
database: chensite_test
username: root
password: 123456
host: localhost

production:
adapter: mysql
database: chensite_production
username: root
password: 123456
host: localhost

接下來創建一個能夠顯示數據庫數據的頁面。Rails是MVC模式的編程方式。
首先創建數據模型:app\models\title.rb
class Title < ActiveRecord::Base
end
- 數據庫titles(小寫復數),文件名title.rb(小寫單數),類名Title(大寫單數)
- 大寫方式--單詞第一個字母為大寫。小寫方式--每個單詞用下劃線分開。
- 模型類中不必定義屬性,它會自動以數據庫字段為屬性。
- set_table_name "table1" 定義對應的表
- set_primary_key "name" 改默認的ID主鍵為name,不過以后name字段就用成id,如:o.id="chengang"
創建視圖:views\homepage\index.rhtml,顯示出title表所有記錄的id和name值
<html>
<body>
<h1>ChenGang's Site</h1>

<% for title in @titles %>

<%= title.id %>__<%= title.name %><br/>

<% end %>
</body>
</html>
視圖中用到的@titles變量來自于我們自己創建的如下控制器: app\controllers\homepage_controller.rb。Rails中控制器中的變量可以在視圖中使用(這是否會產生變量污染的問題呢,還待以后再體驗)
class HomepageController < ApplicationController
def index
@titles = Title.find(:all)
end
end

- Homepage和視圖的目錄名homepage相關
- index方法和視圖的文件名index.rhtml相關
- 用index可以省略訪問地址中的action(action默認為index action)
最后啟動Web服務器后訪問:http://localhost:3000/homepage