使用active record做CRUD簡(jiǎn)直是太簡(jiǎn)單了。
我們假設(shè)數(shù)據(jù)庫中的表為:
CREATE TABLE `users` (`id` int(10) unsigned NOT NULL auto_increment,
?????? `login` varchar(100) NOT NULL,
???????????????????? `password` varchar(100) NOT NULL,
?????? `email` varchar(100) NOT NULL,
???????????????????? `name` varchar(100) NOT NULL,
??????? PRIMARY KEY? (`id`))
類為:
class User<< ActiveRecord::Base
end
我們先看看如何往數(shù)據(jù)增加一個(gè)用戶,代碼如下:
user = User.new
user.login = "zidoing"
user.password="123456"
user.email = "chh915@gmail.com"
user.name = "chh"
user.save
這就可以了,是不是很簡(jiǎn)單啊。
如果你不想建立一個(gè)新的局部變量你還可以使用這種方式來新增一個(gè)用戶。
User.new do |user|
?? user.login = "zidoing"
?? user.password="123456"
?? user.email = "chh915@gmail.com"
?? user.name = "chh"
?? user.save
end
User的構(gòu)造函數(shù)還可以接收hash,這對(duì)web開發(fā)非常的方便。
user = User.new(:login=>"zidoing",:password=>"123456",:email=>"chh915@gmail.com",:name=>"chh")
user.save
增加一條記錄需要兩個(gè)步驟:
1.是new一個(gè)實(shí)體賦值。
2.調(diào)用save進(jìn)行保存。
但是active record也提供一個(gè)create函數(shù)同時(shí)完成了這兩步的操作。
user = User.create(:login=>"zidoing",:password="123456",:email=>"chh915@gmail.com",:name="chh")
它也可以接收array作為參數(shù)。
users = User.create([{:login=>"zidoing",:password="123456",:email=>"chh915@gmail.com",:name="chh"},{
? :login=>"zidoing1",:password="1234567",:email=>"chh915@hotmail.com",:name="chh1"}])
?
?
?
?