使用active record做CRUD简直是太简单了。
我们假设数据库中的表为:
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
我们先看看如何往数据增加一个用户,代码如下:
user = User.new
user.login = "zidoing"
user.password="123456"
user.email = "chh915@gmail.com"
user.name = "chh"
user.save
这就可以了,是不是很简单啊。
如果你不想建立一个新的局部变量你还可以使用这种方式来新增一个用户。
User.new do |user|
user.login = "zidoing"
user.password="123456"
user.email = "chh915@gmail.com"
user.name = "chh"
user.save
end
User的构造函数还可以接收hash,这对web开发非常的方便。
user = User.new(:login=>"zidoing",:password=>"123456",:email=>"chh915@gmail.com",:name=>"chh")
user.save
增加一条记录需要两个步骤:
1.是new一个实体赋值。
2.调用save进行保存。
但是active record也提供一个create函数同时完成了这两步的操作。
user = User.create(:login=>"zidoing",:password="123456",:email=>"chh915@gmail.com",:name="chh")
它也可以接收array作为参数。
users = User.create([{:login=>"zidoing",:password="123456",:email=>"chh915@gmail.com",:name="chh"},{
:login=>"zidoing1",:password="1234567",:email=>"chh915@hotmail.com",:name="chh1"}])