`

RUBY_RAILS 使用转载:活动记录纵览

阅读更多

使用活动记录的步骤

  虽然使用活动记录映射数据表不需要复杂的设置,但我们必须按着活动记录所制定的规范进行操作。这些规范将成为活动记录工作的一部分,以下就是使用活动记录的步骤。

  1.建立表

  2.连接数据库

  3.建立ORM

  4.进行增、删、改操作

  第一步需要完全按着规范来做。建立表的过程一定要严格按着规范进行,否则就会覆盖活动记录的默认值。以下是建立表的详细过程:

  ·建立表

  如果你不想在映射时做大量的工作,那么数据表必须按着活动记录所制定的规范来建立。过程如下:

  1.表名应该是复制形式(如orders)。

  2.主键应该被命名为Id,它的数据类型应该是整型。

  如果某个表引用了另外一个表,那么这个表的外键应该按如下格式取名:

  <表名的单数形式>_id

  因此,按着上面两条规范建立orders表的SQL语句(MySQL数据库)如下:

create table orders (
 id int not null auto_increment,
 name varchar(50) not null,
 … …
 primary key (id)
);


  ·连接数据库

  就象RoR的其它操作一样,数据库的连接也是非常快速的。这就意味着活动记录在内部做了很多的工作,如自动侦测特定的数据库适配器的细节。为了连接数据库,必须使用相应的连接参数调用Base类的establish_connection()方法。这些参数根据数据库的不同而不同。下面的语句是使用establish_connection通过用户名、密码、数据库等信息连接本机MySQL数据库,其中"encoding =>gb2312"是为了操作中文所需。

establish_connection(
 :adapter => "mysql",
 :host => "localhost",
 :username => "root",
 :encoding => "gb2312",
 :password => "1234",
 :database => "test"
)


  ·建立ORM

  在建立完数据库和表后,下一步就是将这个数据表映射成Ruby的类。我们从上述可知,RoR映射数据表是非常快的。只要一个类从ActiveRecord::Base继承,数据表就自动映射成了Ruby类(类名为表名的单数形式)。下面是将orders表映射成Order类的代码:

class Order < ActiveRecord::Base
… …
end


  ·进行增、删、改操作

  对一个数据表最常用的三种操作就是增、删、改。这也是一个数据库应用程序的其本的操作。使用活动记录对数据表进行这三种操作是非常容易的。下面的代码将描述如何使用活动记录对数据进行这三种操作。

  ·增加记录

  增加记录是在建立一个空表后应该做的第一件事。在活动记录中为我们建立了new方法来向表中增加记录,并通过update_attributes方法保存新增加的记录。代码如下:

order = Order.new
order.name = "computer"
order.update_attributes(params[:order])


  ·删除记录

  为了删除记录,活动记录提供了delete方法。这个方法支持单行删除,也支持多行删除。以下语句删除了id等于12的记录:

Order.delete(12)


  下面的语句删除了多条记录:

Order.delete([3, 54, 100])


  ·修改记录

  在修改记录之前,首先要确定要修改的记录,这一过程一般使用查询来完成。因此,修改就是查询和更新记录的组合。如下面的语句将id=100的记录中的name的值改为"car"。

order = Order.find(100)
order.name = "car"
order.save


  上面的代码只是粗略地描述了一下活动记录的功能。我们将在下面的实例中演示如何将活动记录和ActionController以及ActionView一起使用建立一个登录程序。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics