阅读更多

12顶
0踩

编程语言

Ruby on Rails的核心成员,Yehuda Katz在其博客中介绍了 ActiveModel,Rails 3中的另一个重要功能。ActiveModel是一个新的库,提供ActiveRecord的部分model,但不受数据库限制。

 

通过使用ActiveModel任何Ruby类都能拥有类似Rails的model行为,而且不会受到Rails和数据库的限制,以下是在非Rails类上使用 ActiveModel的一个示例:

 

require 'active_model'

class Person
  include ActiveModel::Validations

  validates_presence_of :first_name, :last_name

  attr_accessor :first_name, :last_name
  def initialize(first_name, last_name)
    @first_name, @last_name = first_name, last_name
  end
end

a = Person.new("Fred", nil)
a.valid? # => false
a.last_name = "Flintstone"
a.valid? # => true

 

查看更多介绍:http://yehudakatz.com/2010/01/10/activemodel-make-any-ruby-object-feel-like-activerecord/

 

查看ActiveRecord的介绍:http://www.ibm.com/developerworks/cn/web/wa-rails3/(中文)

来自: rubyinside
12
0
评论 共 6 条 请登录后发表评论
6 楼 wushexu 2010-01-17 16:42
我宁愿直接require 'active_record',获得全功能的model
5 楼 shuxiang 2010-01-17 12:57
老外的东西发展的太快了,总是跟不上步调……
4 楼 系统程序 2010-01-17 00:28
总算看到一点rails3的消息
3 楼 boobmoom 2010-01-16 08:56
支持
amazing
希望rails3能提供更多惊艳而又实用的功能
2 楼 Hooopo 2010-01-15 22:41
cool!
这个做open api很方便了
1 楼 星情泪 2010-01-15 21:39
呵呵,不错。

不过activerecord主要都是和数据库打交道,如果需要用到很多它的方法,估计到时候还不如直接继承自activerecord::base算了

发表评论

您还没有登录,请您登录后再发表评论

相关推荐

  • u-observers:观察者模式的简单而强大的实现

    Ruby的标准库,使您可以使用此模式。 但是其设计可能会与其他主流库发生冲突,例如 ,该库也具有方法。 在这种情况下,Stdlib的行为将受到影响。 由于这个问题,我决定创建一个可以封装模式的gem,而无需过多更改...

  • yaaf:在Rails应用程序中简化表单对象模式

    它利用ActiveRecord和ActiveModel功能来为您提供一个行为对象,该对象的行为非常类似于Rails模型,并且仍然是完全可配置的。 我们将要命名该ActiveForm宝石以遵循Rails的命名约定,但是鉴于有很多这样的表单对象...

  • orel:以R为重点的实验性ORM

    尽管在Ruby中实现,但Orel域的行为更像是属性约束。 一体化 Orel建立在使用ActiveRecord连接适配器的Arel之上。 它与ActiveModel :: Naming兼容,并从ActiveModel借用了对其他基本功能的支持。 地位 Orel已在生产...

  • 重构臃肿 ActiveRecord 模型的 7 种方式

    转:http://ruby-china.org/topics/18418   当团队使用 Code Climate 来提高 Rails 程序的代码质量时,他们就会学习到如何防止模型慢慢变得臃肿。“胖模型( Fat models )” 在大应用中会导致维护问题。它仅仅比...

  • Ruby on Rails 3 Style Guide。

    序幕 ...这是一份与由现存社群所驱动的Ruby 编码风格指南互补的指南。 而本指南中测试 Rails 应用小节摆在开发 Rails 应用之后,因为我相信行为驱动开发 (BDD) 是最佳的软体开发之道。铭记在

  • 1月10日 ruby基础教程,查漏补缺; 2月22日 Exception补充

    https://ruby-doc.org/core-2.5.0/Exception.html 1月20日练习完1,2章。 第一章 初探 ‘’单引号不执行转义符。 \t 制表符。\n 换行符。 p mehtod ,类似于puts,但转义符不起效果,另外会对数字和string以不同...

  • AntiPatterns基础知识:Rails控制器

    演示者汇总了行为和属性,这使我们的控制器可以轻松地将重点放在单个对象上的小型,简单的作业上。 同样,在视图中格式化数据或其他类似的小功能也是经常发生的工作。 将其包含在演示者中不仅对干净视图很有用,...

  • Rails 3.2 新特性简介

    而今天,我已经成功的进入了这家企业,成为了真正的Ruby on Rails开发者。从去年暑假刚开始学习Rails,到今天,只有半年有余。不过Rails已经从最初学习时的3.0.8升级到了3.2.3。我依然记得第一次用3.1.0的时候

  • Active Record Query Interface(in Rails3)

    [url]http://yehudakatz.com/2010/01/10/activemodel-make-any-ruby-object-feel-like-activerecord/[/url]这篇博客让我想起一个[url="http://www.iteye.com/news/12993"]JavaEye新闻[/url],找了一下,果然就是这篇...

  • rails上的建议用法 ,这个很重要,我还在用老方法 ,

    rails上的建议用法 ,这个很重要,我还在用老方法 , 2010-02-16Active Record Query Interface(in Rails3)文章分类:Ruby编程http://guides.rails.info/active_record_quer...

  • state_machine

    通常,一个 对象 处于何种状态常常取决于一系列 boolean 判断,根据 ‘判断值’ 来确定。 当你有多个类 都存在 这种需求 时,处理起来就会变得很累赘 和 烦嗦。 state_machine简化这种设计:一个真实的...

  • Rails 风格指导

    感谢译者。 本页用于介绍 Ruby 社区首推的Rails代码编写风格,翻译来自:https://github.com/JuanitoFatas/rails-style-guide 序幕 风格是从伟大事物中分离出的美好...这是一份与由现存社群所驱动的Ruby 编码风...

  • Rails4.1 Action Controller 概述

    控制器是一个继承于ApplicationController的Ruby类,拥有与其他类相同的方法。当你的应用接收到需求,路由机制将决定哪个控制器和动作来执行,然后Rails将创建控制器的实例并运行与动作同名的方法。 class ...

  • 如何理解和阅读理解开源项目

    编译rails的依赖包:activesupport、activemodel、activerecord、activeresource、actionpack、actionmailer、railties。这些都是rails项目自己开发的包 然后再编译rails本身 rails本身的包描述文件是:rails...

  • 利用BackboneJS更好组织jQuery应用的架构(二)

    Backbone.Model实现了一种名为活动记录(Active Record)的模式 (不要与 Ruby中 Rails的 ActiveRecord 或 ActiveModel 混淆了)。这个模式的观点是,一个实体或者模型应该知道它相对于数据存储的状态。对于Backbone....

  • ios学习资源

    問:學習Objective-C的書籍?答:Effective objective-C 2.0编写高质量ios和OS X代码的52个有效方法Learn Objective–C on the Mac by Mark Dalrymple and Scott Knaster, Apress.這本的內容是Objective-C跟一些...

  • SOAP技术与B2B应用集成(1)

    SOAP技术与B2B应用集成(1)柴晓路2002-4-26本文最初由 IBM developerWorks中国网站发表,其网址是http://www.ibm.com/developerWorks/cn/SOAP技术及应用概览自XML技术被引入到B2B电子商务应用中去,人们发现在B2B电子商务应用环境中,XML的确是一个非常优秀而且极为适合的技术。XML作为基于Interne

  • SOAP技术与B2B应用集成(2)

    SOAP技术与B2B应用集成(2)SOAP的消息结构与数据的组织方法本文最初由 IBM developerWorks 中国网站发表,其网址是http://www.ibm.com/developerWorks/cn/SOAP为在一个松散的、分布的环境中使用XML对等地交换结构化的和类型化的信息提供了一个简单的轻量级机制。而传送信息的基本单元承载体就是SOAP消息。从根本上来看,SOA

  • SOAP技术与B2B应用集成(4)

    SOAP技术与B2B应用集成(4)SOAP消息中的类型/值的编序方法和示例本文最初由 IBM developerWorks 中国网站发表,其网址是http://www.ibm.com/developerWorks/cn/在前面的文章SOAP的型系统和数据编码规则中,我们能了解到SOAP的类型和数据的编码是基于一个简单类型系统的,这个简单类型系统是基于程序语言、数据库和半结构数据中的

Global site tag (gtag.js) - Google Analytics