`
jxuin
  • 浏览: 30036 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

读书笔记

阅读更多
Scripts/console脚本允许你把Rails应用的一部分拿到irb会话中运行,从而对方法进行测试

ruby script/generate controller Admin::Book action1 action2  在admin目录下创建bookcontroller

<%= debug(@order) %>

访问属性:
如果一个model 对象有个属性名为balance,你可以使用索引操作符,传递给它一个字
符串或一个符号(symbol)来访问这个属性的值。这儿是我们将使用的符号。
account[:balance] #=> return current value
account[:balance] = 0.0 #=> set value of balance
account.balance #=> return current value
account.balance = 0.0 #=> set value of balance

在model 本身的代码内部,你可使用read_attribute()和write_attribute()私
有方法。这些接受做为字符串参数的属性的名字

要在一个条件句内查询一个列,你必须附加一个问号给列的名字
user = Users.find_by_name("Dave")
if user.superuser?
grant_privileges
end

指定连接的一种方式是使用establish_connection()类方法
下面调用在服务器dbserver.com上使用给定的用户名字和口令,创建了一个对名为railsdb 的MySQL 数据库的连接。这是所有的model 类共用的缺省连接。
ActiveRecord::Base.establish_connection(
:adapter => "mysql",
:host => "dbserver.com",
:database => "railsdb",
:username => "railsuser",
:password => "railspw"
)

order new的方法(3种):
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
Order.new do |o|
o.name = "Dave Thomas"
# . . .
o.save
end
an_order = Order.new(
:name => "Dave Thomas",
:email => "dave@pragprog.com",
:address => "123 Main St",
:pay_type => "check")
an_order.save



Active Record 还有一个方便的方法create()。它是既实例化model 对象又把它存储
到数据库中。

还可以给create()传递一个属性哈希表数组;它将在数据库中创建多行记录并返回一个对应的model 对象数组。
orders = Order.create(
{},{}
)


find(使用占位符):
name = params[:name]
pos = Order.find(:all,
:conditions => ["name = ? and pay_type = 'po'", name])

name = params[:name]
pay_type = params[:pay_type]
pos = Order.find(:all,
:conditions => ["name = :name and pay_type = :pay_type",
{:pay_type => pay_type, :name => name}])

pos = Order.find(:all,
:conditions => ["name = :name and pay_type = :pay_type", params])

order by 的用法
orders = Order.find(:all,
:conditions => "name = 'Dave'",
:order => "pay_type, shipped_at DESC")

以使用:limit 参数,限制find(:all,...)返回的记录行的数目。如果你使
用:limit 参数,你或许也想指定排序以确保得到一致的结果。
例如,下面返回前10 个匹配的定单。
orders = Order.find(:all,
:conditions => "name = 'Dave'",
:order => "pay_type, shipped_at DESC",
:limit => 10)


使用attributes(),attribute_names(),attribute_present?()等方法来看model 对象哪些属性可用。第一个返回一个属性的(名/值)对的哈希表,第二个是名字数组,第三个是如果一个有名字的属性在model 可用的话,返回true。
orders = Order.find_by_sql("select name, pay_type from orders")
first = orders[0]
p first.attributes
p first.attribute_names
p first.attribute_present?("address")
这是输出
{"name"=>"Dave Thomas", "pay_type"=>"check"}
["name", "pay_type"]
false
使用as xxx的SQL 语法给定结果集中的一个列的名字,这个名字就将成为属性名
count_by_sql()返回由sql 语句( select count(*) from ...)生成的行数。

Order model 有以下属性如:name,email,和address。我们可以在finder
方法中使用这些名字,并返回那些相应匹配这些值的列的记录行。
order = Order.find_by_name("Dave Thomas")
orders = Order.find_all_by_name("Dave Thomas")
order = Order.find_all_by_email(params['email'])
order = Order.find_by_name("Dave Thomas", other args...)
会由Active Record 有效地转换成
order = Order.find(:first,
                   :conditions =>["name= ?", "DaveThomas"],other_args...)

user = User.find_by_name_and_password(name, pw)
它相当于user = User.find(:first,
             :conditions => ["name = ? and password = ?", name, pw])
分享到:
评论

相关推荐

    毕业论文读书笔记格式

    ### 毕业论文读书笔记格式详解 #### 一、引言 在撰写毕业论文的过程中,阅读相关的文献资料是必不可少的环节。为了更好地理解和吸收这些资料中的精华,并将其有效地融入到自己的毕业论文中,撰写读书笔记显得尤为...

    java读书笔记笔记笔记笔记笔记笔记

    【标题】"java读书笔记笔记笔记笔记笔记笔记" 暗示了这是一份关于Java编程语言的学习笔记,可能包含了作者在阅读Java相关书籍时所做的重要记录和理解。笔记通常涵盖了语言的基础概念、核心特性、类与对象、内存管理...

    读书笔记 3000字数以上

    从给定的文件信息来看,虽然标题和描述指向了“读书笔记”,但内容部分似乎包含了一些乱码,无法直接解析出具体的知识点。不过,基于标题和描述的提示,我们可以探讨一下如何撰写高质量的读书笔记,以及在IT行业背景...

    计算机技术的读书笔记10篇

    计算机技术的读书笔记10篇计算机技术的读书笔记10篇计算机技术的读书笔记10篇计算机技术的读书笔记10篇计算机技术的读书笔记10篇

    深入浅出MFC读书笔记3

    深入浅出MFC读书笔记3 在MFC中,Document-View架构是一个非常重要的概念。本文将对Document-View架构中的关键组件进行深入探讨,并对其实现思路进行详细的解析。 首先,让我们来看一下Document的概念。在MFC中,...

    计算机书籍读书笔记参考.docx

    "计算机书籍读书笔记参考.docx" 本文档主要围绕 ASP.NET 和数据仓库两个主题展开,详细介绍了 ASP.NET 的工作方式、事件驱动模型、CLR(Common Language Runtime)运行阶段通用语言,以及数据仓库的概念、特点、...

    读书笔记_csdn

    读书笔记

    《Android应用开发揭秘》读书笔记

    《Android应用开发揭秘》读书笔记不仅是一份个人学习历程的记录,更是一部深入浅出的Android开发指南。本书籍及笔记覆盖了从基础知识到高级应用的广泛内容,为初学者和有经验的开发者提供了宝贵的资源。 ### ...

    做读书笔记的一款好软件

    标题中的“做读书笔记的一款好软件”以及描述中的“做读书笔记的好软件!”暗示了我们正在讨论的是一款专用于创建和管理读书笔记的应用程序。在IT领域,这样的软件通常具有以下特点: 1. **文本编辑功能**:软件应...

    《艾略特波浪理论-市场行为的关键》读书笔记.docx

    《艾略特波浪理论-市场行为的关键》读书笔记 《艾略特波浪理论-市场行为的关键》读书笔记是一份关于艾略特波浪理论的详细笔记,该理论是由拉尔夫·纳尔逊·艾略特提出的,旨在解释股票市场指数的可识别模式趋势和...

    学生读书笔记共享-学生读书笔记共享系统-学生读书笔记共享系统源码-学生读书笔记共享管理系统-学生读书笔记共享管理系统java代码

    学生读书笔记共享-学生读书笔记共享系统-学生读书笔记共享系统源码-学生读书笔记共享管理系统-学生读书笔记共享管理系统java代码-学生读书笔记共享系统设计与实现-基于springboot的学生读书笔记共享系统-基于Web的...

    统计学与R读书笔记(第六版)

    1. 书籍介绍:《统计学与R读书笔记(第六版)》是一本结合统计学与R语言的图书,适合于有统计学或R语言学习需求的人群。这本书可能涉及了R的基础操作、统计方法应用以及R语言的高级特性。 2. R语言基础:文档中提到了...

    小学生怎样写读书笔记PPT课件.pptx

    【读书笔记概述】 读书笔记是阅读过程中的重要辅助工具,它可以帮助我们记录和理解书中的精华,提升记忆力,促进思考,积累素材,并提高写作和表达能力。读书笔记主要有三种类型:摘要式、批注式和体会式。 1. **...

    学生读书笔记共享系统-学生读书笔记共享系统源码-基于springboot的学生读书笔记共享系统-学生读书笔记共享管理系统java

    学生读书笔记共享-学生读书笔记共享系统-学生读书笔记共享系统源码-学生读书笔记共享管理系统-学生读书笔记共享管理系统java代码-学生读书笔记共享系统设计与实现-基于springboot的学生读书笔记共享系统-基于Web的...

    国家间政治读书笔记.pdf

    国家间政治读书笔记.pdf

    素雅简约风读书笔记ppt模板

    标题中的“素雅简约风读书笔记ppt模板”指的是一个设计风格简洁、淡雅的PowerPoint模板,特别适合用于整理和展示个人的读书笔记。这样的模板通常包含一系列预设的页面布局,旨在帮助用户以清晰、有条理的方式呈现...

Global site tag (gtag.js) - Google Analytics