全栈工程师-后端开发-Ruby_ActiveRecord和数据库交互.docx

全栈工程师-后端开发-Ruby_ActiveRecord和数据库交互.docx

  1. 1、本文档共42页,可阅读全部内容。
  2. 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
  3. 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  4. 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多

PAGE1

PAGE1

Ruby基础与ActiveRecord简介

1Ruby语言概述

Ruby是一种动态、面向对象、通用的编程语言,由YukihiroMatsumoto(松本行弘)在1990年代中期设计和开发。Ruby的设计哲学强调代码的可读性和简洁性,这使得Ruby代码看起来更像是用自然语言编写的。Ruby的语法灵活,支持多种编程范式,包括面向对象、函数式和元编程。Ruby的动态特性允许在运行时修改类和对象,这为开发人员提供了极大的灵活性。

1.1特点

动态类型:变量在运行时确定类型,无需显式声明。

面向对象:所有事物都是对象,包括数字和字符串。

简洁的语法:Ruby的语法设计旨在提高代码的可读性和可写性。

元编程能力:Ruby允许在运行时修改和扩展语言本身。

1.2示例代码

#定义一个简单的类

classPerson

definitialize(name,age)

@name=name

@age=age

end

defintroduce

Hello,mynameis#{@name}andIam#{@age}yearsold.

end

end

#创建一个Person对象

person=Person.new(Alice,30)

#调用方法

putsroduce

2ActiveRecord框架介绍

ActiveRecord是RubyonRails框架中用于数据库交互的ORM(对象关系映射)工具。它提供了一种将数据库表映射到Ruby类的方式,使得数据库操作可以像操作普通的Ruby对象一样进行。ActiveRecord遵循“ActiveRecord”设计模式,每个数据库表对应一个类,每个表的行对应一个类的实例。

2.1主要功能

数据模型定义:通过定义类来描述数据库表结构。

数据库查询:使用Ruby方法进行数据库查询,而不是直接写SQL语句。

数据持久化:自动将对象状态保存到数据库中。

2.2示例代码

假设我们有一个users表,包含id,name,email字段。

#定义User模型

classUserActiveRecord::Base

end

#查询所有用户

users=User.all

#查询特定用户

user=User.find(1)

#创建新用户

new_user=User.create(name:JohnDoe,email:john@)

#更新用户信息

user=User.find(1)

user.update(email:newemail@)

#删除用户

user=User.find(1)

user.destroy

3ActiveRecord在RubyonRails中的角色

在RubyonRails框架中,ActiveRecord扮演着核心角色,它不仅处理数据库交互,还提供了许多高级功能,如关联关系、验证、回调等,使得开发人员可以更高效、更安全地进行数据库操作。

3.1关联关系

ActiveRecord支持多种关联关系,如has_many,belongs_to,has_one等,这使得在模型之间建立复杂的关系变得简单。

3.2示例代码

假设我们有两个模型User和Post,其中User可以有多个Post。

#定义User模型

classUserActiveRecord::Base

has_many:posts

end

#定义Post模型

classPostActiveRecord::Base

belongs_to:user

end

#使用关联关系

user=User.find(1)

posts=user.posts

3.3验证

ActiveRecord提供了内置的验证功能,可以确保数据在保存到数据库之前满足特定的规则。

3.4示例代码

#定义User模型,包含验证

classUserActiveRecord::Base

validates:name,presence:true

validates:email,presence:true,uniqueness:true

end

#创建新用户,验证失败

new_user=User.create(name:,email:john@)

#new_user.errors.full_messages将返回验证失败的信息

3.5回调

ActiveRecord支持在特定事件(如保存、更新、删除)发生时执行代码,这被称为回调。

3.6示例代码

#定义User模型,包含before

文档评论(0)

kkzhujl + 关注
实名认证
内容提供者

该用户很懒,什么也没介绍

1亿VIP精品文档

相关文档