使用活动记录的步骤
虽然使用活动记录映射数据表不需要复杂的设置,但我们必须按着活动记录所制定的规范进行操作。这些规范将成为活动记录工作的一部分,以下就是使用活动记录的步骤。
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([3, 54, 100]) |
·修改记录
在修改记录之前,首先要确定要修改的记录,这一过程一般使用查询来完成。因此,修改就是查询和更新记录的组合。如下面的语句将id=100的记录中的name的值改为"car"。
order = Order.find(100) order.name = "car" order.save |
上面的代码只是粗略地描述了一下活动记录的功能。我们将在下面的实例中演示如何将活动记录和ActionController以及ActionView一起使用建立一个登录程序。
分享到:
相关推荐
Ruby on Rails Guides v2 - Ruby on Rails 4.2.5
Redmine 搭建 Ruby_Ruby_on_Rails 项目管理系统
ruby_on_rails_3_入门教程(中文)
Ruby_on_Rails_School Ruby学校 Rubyschool.us目录列表(俄语) полезныессылки:-регулировкаскоростивидеонаVimeo(Chrome浏览器中的расширениедля) У...
ruby_on_rails 开发者实战 源代码上 1-12章 来之不易啊。仅供学习.
如何使用 创建迁移 $ rails generate mongoid:migration 运行迁移: $ rails db:migrate $ rails db:migrate:down VERSION= $ rails db:migrate:up VERSION= $ rails db:rollback $ rails db:rollback_to VERSION=...
Windows7_Cygwin_Git_RVM_Ruby1.9.3_Rails3_MongoD B_Nginx_Unicorn_Rspec_Guard_Spork(2-Ruby on Rails3 安装配置
factory_bot_rails 用简单的定义语法替换了固定装置,支持多种构建策略(保存的实例,未保存的实例,属性哈希和存根对象),并且支持同一类的多个工厂( user , admin_user等),包括工厂继承。 从factory_girl_...
学习Ruby on Rails 4.0的逐步指南。 它包括针对Ruby 2.0.0的基本教程,是为至少了解另一种编程语言并熟悉HTML的程序员编写的。
weixin_rails_middleware, 微信集成 ruby weixin_rails_middleware for integration weixin.
Ruby on Rails 介绍网站 研讨会论文网站 安装 在每次开始之前克隆 repo 并拉取(如果可用)。 bundle install rails s http://localhost:3000 执照
英雄之旅API Ruby on Rails 6课程作为创建Heroes CRUD的API。 该存储库是YouTube 的。 Ruby版本2.7.2 Rails版本6.1.x 数据库SQLite3(dev)/ PostgreSQL(产品)运行项目的初始设置# clone the projectgit clone ...
awesome_rails_console的优点是: 更少的宝石依赖关系(仅使用除prail-rails和awesome_print之外的rails。其余都是可选的) 更简单的提示修改(类似于你已经熟悉的默认提示) 无需担心配置(因为反正没有太多选择)...
本书教您如何使用Ruby on Rails开发和部署真正的,具有工业实力的Web应用程序,Ruby on Rails是为诸如Twitter,Hulu,GitHub和Yellow Pages等顶级网站提供支持的开源Web框架。
《Ruby_on_Rails敏捷开发最佳实践》英文版,文字影印版
Ruby_on_Rails实践.rar
Ruby on Rails挑战 Ruby on Rails挑战演示了创建典型RoR应用程序所涉及的一些最佳实践。 在此作业中,显示了以下内容以及更多内容: 模型验证(自定义验证) 单元测试 正确的迁移 Git分支(用于每个用户故事) ...
image_optim_rails 使用image_optim gem优化rails图像资产。 在文件中可以找到获取二进制文件的选项和说明。安装添加到您的Gemfile : gem 'image_optim_rails' 使用 : gem 'image_optim_rails'gem 'image_optim_...
ruby_on_rails_创建一个博客项目.doc
分2卷压缩,另一卷在我的资源列表 本书从Ruby和Rails的历史讲起,以在Rails...本书注重实用性,适合初学者迅速掌握Ruby开发工具的使用方法,为希望深入了解Rails框架并建立健壮网络应用的开发人员提供强大的技术支持。