Active Record使得实现CRUD的数据库基本操作变得简单,在下面的几节里我们使用Mysql数据库中的orders表来进行CRUD的操作,这次先看创建(Create)。
我们假想有一个Model,名为Order:
class Order < ActiveRecord::Base end
在面向对象的模型里,表对应类,表中的行对应类的对象。我们可以通过创建一个类的对象来创建一条记录。对orders表,我们可以使用Order.New()方法来创建一个Order的对象,也就对应了orders表的一条记录,然后我们给该对象的每个属性赋值,最后,我们调用对象的save()方法将数据写回数据库,如果不调用save()的话,那么这个对象仅仅在内存中存在,而不是数据库。
an_order = Order.new an_order.name = "Dave Thomas" an_order.email = "dave@pragprog.com" an_order.address = "123 Main St" an_order.pay_type = "check" an_order.save
Active Record的构造器有一个可选的块(block),这个块可以将创建的Order对象做为参数,这样就不需要再创建一个Order类的对象的变量了:
Order.new do |o| o.name = "Dave Thomas" # . . . o.save end
Active Record也可以接收一组哈希(Hash)参数的值来作为可选参数,由属性的名字和相对应的值组成:
an_order = Order.new( :name => "Dave Thomas", :email => "dave@pragprog.com", :address => " 123 Main St ", :pay_type => "check") an_order.save
以上是小编为您精心准备的的内容,在的博客、问答、公众号、人物、课程等栏目也有的相关内容,欢迎继续使用右上角搜索按钮进行搜索数据库
, 对象
, 构造器
, save
, order
一个
rails activerecord、ruby activerecord、ruby on rails、ruby on rails 教程、ruby rails,以便于您获取更多的相关知识。