*Rails 3.0.6 (April 5, 2011)
* Un-deprecate reorder method [Sebastian Martinez]
* Extensions are applied when calling +except+ or +only+ on relations.
Thanks to Iain Hecker.
* Schemas set in set_table_name are respected by the mysql adapter. LH #5322
* Fixed a bug when empty? was called on a grouped Relation that wasn't loaded.
LH #5829
* Reapply extensions when using except and only. Thanks Iain Hecker.
* Binary data is escaped when being inserted to SQLite3 Databases. Thanks
Naruse!
*Rails 3.0.5 (unreleased)*
* Model.where(:column => 1).where(:column => 2) will always produce an
AND query.
[Aaron Patterson]
* Deprecated support for interpolated association conditions in the
form of :conditions => 'foo = #{bar}'.
Instead, you should use a proc, like so:
Before:
has_many :things, :conditions => 'foo = #{bar}'
After:
has_many :things, :conditions => proc { "foo = #{bar}" }
Inside the proc, 'self' is the object which is the owner of the
association, unless you are eager loading the association, in which
case 'self' is the class which the association is within.
You can have any "normal" conditions inside the proc, so the
following will work too:
has_many :things, :conditions => proc { ["foo = ?", bar] }
Previously :insert_sql and :delete_sql on has_and_belongs_to_many
association allowed you to call 'record' to get the record being
inserted or deleted. This is now passed as an argument to the proc.
[Jon Leighton]
* More strict dependency reflect gemspec's description.
*Rails 3.0.4 (unreleased)*
* Added deprecation warning for has_and_belongs_to_many associations where the join table has
additional attributes other than the keys. Access to these attributes is removed in 3.1.
Please use has_many :through instead. [Jon Leighton]
*Rails 3.0.3 (November 16, 2010)*
* Support find by class like this: Post.where(:name => Post)
*Rails 3.0.2 (November 15, 2010)*
* Dramatic speed increase (see: http://engineering.attinteractive.com/2010/10/arel-two-point-ohhhhh-yaaaaaa/) [Aaron Patterson]
* reorder is deprecated in favor of except(:order).order(...) [Santiago Pastorino]
* except is now AR public API
Model.order('name').except(:order).order('salary')
generates:
SELECT * FROM models ORDER BY salary
[Santiago Pastorino]
* The following code:
Model.limit(10).scoping { Model.count }
now generates the following SQL:
SELECT COUNT(*) FROM models LIMIT 10
This may not return what you want. Instead, you may with to do something
like this:
Model.limit(10).scoping { Model.all.size }
[Aaron Patterson]
= Active Record -- Object-relational mapping put on rails
Active Record connects classes to relational database tables to establish an
almost zero-configuration persistence layer for applications. The library
provides a base class that, when subclassed, sets up a mapping between the new
class and an existing table in the database. In context of an application,
these classes are commonly referred to as *models*. Models can also be
connected to other models; this is done by defining *associations*.
(This is part of Ruby on Rails 3.)