1CRUD
C: .save
.create()
R:
find(:first)
查询第一条
find(:all, conditions=>”name=’
值
’ and pay_type=’
值
’”)
给定属性查询
通过
hash
集合给定属性值
name=params[:name]
pay_type=params[:pay_type]
find(:all, conditions=>[“name=:name and pay_type=:pay_type”,
{:pay_type=>pay_type,
:name=>name}])
通过
hash
参数给定属性值
find(:all,
conditions=>params[:order])
find
方法实为对
sql
语句的转换
:conditions
=>”name=’Dave’”
给定的是
sql
语句中
where
的查询条件
:order
=>”pay_type,shipped_at
DESC”
指定排序的条件
:limit
=>”10”
指定限制返回的记录数。与
:order
参数同时使用时,返回查询结果保持一致
:offset=>”20”
指定查询数据中的第几条记录之后被读取出来
:select=>
”name,pay_type”
指定要查询的内容字段
:redonly=>true
Find
方法返回的
ActiveRecord
对象不能存回数据库
:from=>
表名
:group=>
”shu”
以书来分组
注:通过分组查询出来的数据是数组型并非
Hash
型的
U
:
update_attribute(:
属性名,“值”
)
2
获取字段统计信息
Order.average(:
字段名称
)
计算
order
数据中给定字段的平均值
Order.maximum(:
字段名称
)
计算
order
中给定字段的最大值
Order.minimum(:
字段名称
)
计算
order
中给定字段的最小值
Order.sum(:
字段名称
)
计算
order
中给定字段的和
Order.count
计算
order
中数据的总数
所有这些函数与
find
函数类似接受
hash
参数
:conditions
:limit
:order
:having
:select
:distinct
:group (group
常与
limit
和
order
一同使用
)
3
对于结构化数据的存取
若将对象中的一对象属性(如数组对象)保存入数据库为某种类型的(多数为字符串行或
text
型)
当在模型中声明
serialize
:字段名时,取出数据时仍保持存前数据的类型
如将字符串存入数据库则以
string
形式存储,取出时仍然是个数组
注:数组对象以
YAML
格式存入数据库,若在
ruby
应用外使用则,则不能解析此格式
4
对象聚合的存取
1
首先建立对象内的聚合类:必须满足有一个构造器,该类不能继承
ActiveRecord(
属性应该以
attr_accessor :……)
,参数必须对应数据库字段
2
在外层对象上建立钩子:该钩子建立与内层对象的关系,及内层对象与数据库的映射关系
composed_of :attr_name
,
:class_name=>Name
,
:mapping=>[[:first_name,:first],[:
表字段,对象字段
]
,
[]……]
注意:参数
:attr_name
代表的是聚合对象作为外层对象的属性名(必须有)
:class_name
代表聚合对象的类名(如果外层对象属性与聚合类名相同则无需此参数)
:mapping
当数据库字段与聚合类名不一样时使用此参数
分享到:
相关推荐
9. **数据库操作**:在Rails中,ActiveRecord允许你方便地与数据库交互,创建数据模型,定义关联,执行CRUD(创建、读取、更新、删除)操作。 10. **RESTful API设计**:了解如何在Rails中构建符合REST原则的API,...
在压缩包`soveran-ohm-5df4f19`中,很可能包含了Ohm库的源代码,你可以通过阅读这些代码深入了解其内部实现,包括它如何将Ruby对象转化为Redis命令,以及如何处理各种数据结构。这对于深入理解Redis和Ruby之间的交互...
在Ruby BBS中,这些功能可能通过以下方式实现: 1. 用户认证:使用Devise或Authlogic等gem进行用户身份验证,管理用户的注册、登录和登出。 2. 论坛分类:创建论坛类别模型,用于存储不同主题的讨论区。 3. 主题和...
1. **Rails安装**:首先,你需要安装Ruby、Rails以及相关的开发工具。Ruby版本管理器如RVM或rbenv可以帮助你管理多个版本的Ruby。然后通过gem包管理器安装Rails。 2. **创建新项目**:使用`rails new depot`命令...
学习Ruby的基础包括变量、数据类型、控制结构、类与对象、方法、模块和异常处理等。 2. **Rails框架概念**:Rails的核心设计理念是DRY(Don't Repeat Yourself)和Convention Over Configuration,旨在减少重复代码...
书中会讲解如何设置数据库连接,创建数据模型,以及执行CRUD(创建、读取、更新、删除)操作。 4. **Migrations**:Rails中的迁移用于管理数据库结构的变化。通过编写Ruby代码来描述数据库表的变更,然后运行迁移...
通过阅读和查阅Rails 2.3.5的API文档,开发者不仅可以学习到如何在Rails环境中组织代码,还能掌握如何利用其强大的特性来提高开发效率。不过要注意,Rails框架已经发展到更高的版本,新版本可能引入了更多的改进和...
- **集成示例**:例如,开发者可以轻松地创建一个用于管理用户的 RESTful API,通过简单的路由配置即可实现对用户数据的 CRUD(创建、读取、更新、删除)操作。 #### 七、Ruby on Rails 与 Ajax 的融合 - **Ajax**...
- **MVC 架构**:深入理解 MVC(模型-视图-控制器)设计模式在 Rails 中的应用,以及如何利用这一模式来组织代码。 - **数据库交互**:Rails 使用 ActiveRecord 来处理与数据库的交互,书中将详细介绍如何使用 ...
Active Record是模型层的一种实现方式,它是Ruby on Rails框架中的一个重要概念,它将数据库操作封装在对象的方法中,使得数据库交互更加直观和简洁。 **视图(View)**: 视图是用户界面的部分,负责展示数据。在...
通过这个压缩包中的源代码,你可以看到如何组织Rails项目,如何实现RESTful API,以及如何使用测试确保代码质量。此外,书中可能还涉及了数据库迁移、缓存策略、性能优化和安全实践等内容。通过深入学习和实践这些...
至于视图,会讲解ERB(Embedded Ruby)模板语法,如何在HTML中嵌入Ruby代码,以及辅助方法(Helper Methods)的使用,它们能帮助开发者更好地组织和复用视图代码。 最后,教程可能会简要介绍测试(Testing),Rails...
6. **辅助方法(Helper Methods)**:这些方法提供了一种组织和重用视图逻辑的方式,帮助保持视图代码的整洁。 7. ** erb模板引擎**:用于创建动态HTML页面,允许在HTML中嵌入Ruby代码。 8. **gem**:Ruby的包管理...
源码中可以看到各个部分的组织结构和它们之间的通信方式。 4. **ActiveRecord**: Rails的ORM(对象关系映射)层,负责数据库操作。通过ActiveRecord,开发者可以用Ruby代码直接操作数据库,无需编写SQL语句。源码中...
在"Web+开发敏捷之道"的源代码中,我们可以看到Ruby如何优雅地处理数据结构、类和对象,以及其强大的元编程能力。 二、Rails框架优势 Rails作为Ruby的明星框架,提供了丰富的内置功能,如MVC(模型-视图-控制器)...
1. 面向集合存储:数据以集合的形式组织,类似于关系数据库的表,但不需要预先定义模式,提供更大的灵活性。 2. 动态查询:MongoDB的查询语言强大,允许开发者编写类似面向对象的查询语句。 3. 全面索引:支持对数据...
书中会讲解如何定义模型,设置关联关系,以及执行CRUD(创建、读取、更新、删除)操作。 此外,本书还涉及到了Ajax(异步JavaScript和XML)在Rails中的应用,如何利用Unobtrusive JavaScript(UJS)实现页面的无...
在Ruby编程语言中,"student-directory" 是一个基础项目,旨在帮助初学者了解如何构建一个简单的应用程序。这个项目,如其标题"我的第一个Ruby项目,来自制造商课程"所示,是针对那些正在学习如何使用Ruby的人设计的...
2. **ActiveRecord**:这是RoR中的一个ORM(对象关系映射)库,允许开发者用Ruby类来代表数据库表,通过面向对象的方式来操作数据库,简化了数据库交互。 3. **Scaffolding**:RoR提供快速原型开发工具,能自动生成...