网站:
JavaEye 作者:
rainchen
发表时间: 2007-08-30 19:42 此文章来自于
http://www.iteye.com
声明:本文系JavaEye网站原创文章,未经JavaEye网站或者作者本人书面许可,任何其他网站严禁擅自发表本文,否则必将追究法律责任!
原文链接:
http://www.iteye.com/topic/118466
广告语:你觉得Rails现在的ActiveRecord还不够活跃、还不够DSL吗?想让它更有抱负吗?那么你需要Ambition,马上装上这颗“野心”,让数据来的更猛烈些。
使用了本产品,你将可以:
User.first
"SELECT * FROM users LIMIT 1"
User.select { |m| m.name != 'macgyver' }
"SELECT * FROM users WHERE users.`name` <> 'macgyver'"
User.select { |u| u.email =~ /chris/ }.first
"SELECT * FROM users WHERE (users.`email` REGEXP 'chris') LIMIT 1"
User.select { |u| u.karma > 20 }.sort_by(&:karma).first(5)
"SELECT * FROM users WHERE (users.`karma` > 20)
ORDER BY users.karma LIMIT 5"
User.select { |u| u.email =~ 'ch%' }.size
"SELECT count(*) AS count_all FROM users
WHERE (users.`email` LIKE 'ch%')"
User.sort_by { |u| [ u.email, -u.created_at ] }
"SELECT * FROM users ORDER BY users.email, users.created_at DESC"
User.detect { |u| u.email =~ 'chris%' && u.profile.blog == 'Err' }
"SELECT users.`id` AS t0_r0 ... FROM users
LEFT OUTER JOIN profiles ON profiles.user_id = users.id
WHERE ((users.`email` LIKE 'chris%' AND profiles.blog = 'Err'))
LIMIT 1"
ORM?ROM?!
>> user = User.select { |u| u.name == 'Dio' }
=> (Query object: call #to_sql or #to_hash to inspect...)
>> user.to_sql
=> "SELECT * FROM users WHERE users.`name` = 'Dio'"
还担心从C中取到的数据而在V中根本没有用上而觉得浪费感情吗?
class BandsController < ApplicationController
def index
@bands = Band.sort_by(&:name)
end
end
现在 @bands 不再是一个数据集合在战斗,只有当真正访问到里面的数据条目时它才会召唤db engine附身,如:
Rocktastic Bands
<% @bands.each do |band| %>
- <%= band %>
<% end %>
更过份的是,你的缓存终于可以放开手脚可以大显身手了:
Rocktastic Bands
<% cache do %>
<% @bands.each do |band| %>
- <%= band %>
<% end %>
<% end %>
还等什么,赶紧打开你的console通过gem来订购吧:
http://projects.require.errtheblog.com/browser/ambition/README
更多详情请敲打我们的24小时热线URL:http://errtheblog.com/post/10722
|
《 让ActiveRecord更加active 》 的评论也很精彩,欢迎您也添加评论。查看详细 >>
JavaEye推荐
上海乐福狗信息技术有限公司:诚聘技术经理和开发工程师
免费下载IBM社区版软件--它基于开放的标准,支持广泛的开发类型,让您的开发高效自主!
京沪穗蓉四地免费注册,SOA技术高手汇聚交锋.
上海:优秀公司德比:高薪诚聘 资深Java工程师
广州:优易公司:诚聘Java工程师,开发经理
上海:尤恩斯国际集团:诚聘开发工程师
北京:优秀公司NHNChina招聘:WEB开发,系统管理,JAVA开发, DBA
分享到:
相关推荐
C# Castle.ActiveRecord CS源码示例教程.zip
state_machines-activerecord, StateMachines Active Record 集成 StateMachines Active Record 集成Active Record 4.1 集成添加对数据库事务的支持,自动保存记录,命名范围,验证错误。依赖项Active Record 4.1 ...
CASTLE ACTIVERECORD学习实践(1):快速入门指南 ...CASTLE ACTIVE RECORD FOR .NET2.0快速入门示例 基本上是网上摘录的,我觉得写得很好,所以整理成PDF了。 感谢http://terrylee.cnblogs.com 的TerryLee
Apress Pro ActiveRecord Databases with Ruby and Rails <br>Active Record has primarily been covered as a subsection, or maybe as a chapter or two, within a larger scoped book generally about the ...
赞助人-ActiveRecord JAVA中的Active Record持久性模式示例
ActiveRecord独立迁移 允许您在非Rails项目中使用ActiveRecord迁移。 安装 将此行添加到应用程序的Gemfile中(如果没有,请运行bundle init ): gem 'active_record_migrations' gem 'sqlite3' # or 'pg', 'mysql...
Active Record(活动记录),是一种领域模型模式,特点是一个模型类对应关系型数据库中的一个表,而模型类的一个实例对应表中的一行记录。
active_record-acts_as, 模拟activerecord模型的多表继承 插件开发已经移动这个项目的积极发展已经转移到了的krautcomputing fork 。 请在那里报告问题并打开 PRs ! ActiveRecord::ActsAs这是对 acts_as_relation的...
gem 'active_record-events' 使用Bundler安装gem: $ bundle install或通过运行以下命令手动执行: $ gem install active_record-events用法记录时间戳以标记对象发生了事件是处理ActiveRecord模型时的常见做法。...
安装$ gem install active_record_shards并确保以某种方式要求“ active_record_shards”。配置将副本和分片配置添加到config / database.yml: production : adapter : mysql encoding : utf8 database : my_app_...
Active Record,类似Django的查询,嵌套式加载和美化__repr__ for SQLAlchemy
ASP实现ActiveRecord数据查询更新引言:用过 PHP框架 ThinkPHP 或 CI框架的同学,都知道这些框架自带的数据查询 Active Record 用于查询数据和更新数据想到方便,不单它们,很多PHP框架都支持 Active Record,省去了...
继续使用ActiveRecord的查询生成器,但让Occams接管它们的运行,急切的加载和原始SQL调用。 ActiveRecord无法使用下面的示例,但是OccamsRecord使它们变得微不足道。 (稍后将显示更多完整的示例,但是这些示例会...
I18n ::后端:: ActiveRecord 该存储库包含I18n ActiveRecord后端和从提取的支持代码。 它与Rails 3、4、5和6完全兼容。 安装 对于Bundler,请将以下内容放入您的Gemfile中: gem 'i18n-active_record', :require =...
您现在可以访问您最喜欢的 ActiveRecord 方法,由 localStorage 提供支持!.new var p = Post . new ( { name : "Jesse" } ) ;.create var p = Post . create ( { name : "Jesse" } ) ;#save p . save ( ) ;.find ...
ActiveHash是一个简单的基类,它允许您将ruby哈希用作类ActiveRecord模型的只读数据源。 ActiveHash假定每个哈希都有一个:id键,这可能是您可能存储在数据库中的键。 这使您可以从ActiveHash对象无缝升级到完整的...
Castle ActiveRecord CHM帮助文档 最全的学习资料,经典例子,入门必备,技术人员随身携带的备查工具书。
ThinkPHP 或 CI框架的朋友可能都知道自带的数据查询Active Record功能,用此来查询数据和更新数据相当方便,而且很多PHP框架都支持 Active Record,让我们可以绕过繁琐的原生态SQL查询语句,项目维护更加方便。...
用法ActiveNode受ActiveRecord的启发,但是它仅实现其某些功能,并在必要时提供一些扩展以与图形数据库一起使用。创建和检索节点 class Client < ActiveNode :: Baseendclient = Client . create! name : 'Abc' #...
activevalidators, activemodel/activerecord验证器的集合 ActiveValidators 描述ActiveValidators是off-the-shelf的集合和经过测试的activemodel/activerecord验证。验证这里 gem的真实性已经加密 ActiveValida