1.創建首頁
1.新增一個控制器
`rails generate controller home index`
執行之後,在項目的app\views\home目錄下就多了一個index.html.erb的文件
2.設置主頁
1.編輯config\routes.rb添加以下代碼
root :to => "home#index"
2.在終端中
$ bundle install
$ rails s
此時發現主頁變了
2.配置數據庫
編輯config\database.yml,修改default和development,其它部分不要動
default: &default
adapter: mysql2
encoding: utf8
pool: <%= ENV.fetch("RAILS_MAX_THREADS") { 5 } %>
username: root
password: 159753
socket: /var/run/mysqld/mysqld.sock
development:
<<: *default
database: helloworld_development
3.生成器的使用
1.使用scaffold(漢譯:腳手架,斷頭臺)代碼生成器創建user類
$ rails generate scaffold user name:text password:text --force
因爲前面測試的時候已經創建過user了,因此加上了一個force參數,表示修改這個類
2.創建項目所需數據庫
$ rake db:create
3.持久化類
$ rake db:migrate
這個時候打開mysql
mysql -u root -p
use database helloworld_development
desc users
執行這一步後會自動在數據庫中生成users表,注意了,我們創建的類是user,而這裏自動生成的表卻是users,是它的負數形式,是不是特別人性化?要麼說ruby是最優雅的語言呢///果然名不虛傳呀。。。
我們會發現users表的結構是這樣的
mysql> desc users;
+------------+------------+------+-----+---------+----------------+
| Field | Type | Null | Key | Default | Extra |
+------------+------------+------+-----+---------+----------------+
| id | bigint(20) | NO | PRI | NULL | auto_increment |
| name | text | YES | | NULL | |
| password | text | YES | | NULL | |
| created_at | datetime | NO | | NULL | |
| updated_at | datetime | NO | | NULL | |
+------------+------------+------+-----+---------+----------------+
5 rows in set (0.00 sec)
我們發現除了我們自己添加的屬性name,password之外,又多了三個屬性:id(primaryKey),created_at,updated_at
4.將users/index設置爲主頁
編輯config--->routes.rb
將users/index設置爲主頁的代碼爲添加
root :to => "users#index"
5.運行項目
$ bundle install
$ rails s
誇我誇我!!!
第一個hellworld項目總算是搭完了,感覺自己這幾天神擋殺神佛擋殺佛。。。誇我誇我
這是我拿來練手的項目,github地址爲
https://github.com/houchuanhao/helloworld.git
這個項目會作成一個論壇,歡迎fork~
Rails Migration Data Types – MySql – Postgresql – SQLite
Rails mysql postgresql sqlite
:binary blob bytea blob
:boolean tinyint(1) boolean boolean
:date date date date
:datetime datetime timestamp datetime
:decimal decimal decimal decimal
:float float float float
:integer int(11) integer integer
:string varchar(255) * varchar(255)
:text text text text
:time time time datetime
:timestamp datetime timestamp datetime