was reading http://glu.ttono.us/articles/2006/08/30/guide-things-you-shouldnt-be-doing-in-rails getting this rails app ready for 2.0 ..
anyways, here's a small snippet that i'm wondering about:
was reading http://glu.ttono.us/articles/2006/08/30/guide-things-you-shouldnt-be-doing-in-rails getting this rails app ready for 2.0 ..
anyways, here's a small snippet that i'm wondering about:
No, I believe those are here to stay.
~Jamie
Hi, I would recommend referencing the API docs for Rails at the following:
Good luck,
-Conrad
Hi, in regards to API documents, you should be using the following instead of find_all and find_first: find(*args)
Find operates with three different retrieval approaches:
Find by id: This can either be a specific id (1), a list of ids (1, 5, 6), or an array of ids ([5, 6, 10]). If no record can be found for all of the listed ids, then RecordNotFound will be raised.
Find first: This will return the first record matched by the options used. These options can either be specific conditions or merely an order. If no record can matched, nil is returned.
Find all: This will return all the records matched by the options used. If no records are found, an empty array is returned. All approaches accept an option hash as their last parameter. The options are:
:conditions
: An SQL fragment like “administrator = 1” or
[ “user_name = ?”, username ]. See conditions in the intro.
:order
: An SQL fragment like “created_at DESC, name”.
:group
: An attribute name by which the result should be grouped.
Uses the GROUP BY SQL-clause.
:limit
: An integer determining the limit on the number of rows
that should be returned.
:offset
: An integer determining the offset from where the rows
should be fetched. So at 5, it would skip the first 4 rows.
:joins
: An SQL fragment for additional joins like “LEFT JOIN
comments ON comments.post_id = id”. (Rarely needed). The records will
be returned read-only since they will have attributes that do not
correspond to the table’s columns. Pass :readonly => false to
override.
:include
: Names associations that should be loaded alongside using
LEFT OUTER JOINs. The symbols named refer to already defined associations.
See eager loading under Associations.
:select
: By default, this is * as in SELECT * FROM, but can be
changed if you for example want to do a join, but not include the joined
columns.
:readonly
: Mark the returned records read-only so they cannot be
saved or updated.
Examples for find first:
Person.find(:first) # returns the first object fetched by SELECT * FROM people
Person.find(:first, :conditions => [ "user_name = ?", user_name])
Person.find(:first, :order => "created_on DESC", :offset => 5)
Examples for find all:
Person.find(:all) # returns an array of objects for all the rows fetched by SELECT * FROM people
Person.find(:all, :conditions => [ "category IN (?)", categories], :limit => 50)
Person.find
(:all, :offset => 10, :limit => 10)
Person.find(:all, :include => [ :account, :friends ])
Person.find(:all, :group => "category")
Good luck,
-Conrad