bug report

I assume this is a bug with find :last?

capella.ps.last

=> #<Program id: 888, name: "Post-... deleted_reason: nil> # worked

capella.ps.find :last

ActiveRecord::RecordNotFound: Couldn't find Program with ID=6329 AND
(programs.school_id = 6)
  from
/opt/local/lib/ruby/gems/1.8/gems/activerecord-2.0.2/lib/active_record/base.rb:1267:in
`find_one'
  from
/opt/local/lib/ruby/gems/1.8/gems/activerecord-2.0.2/lib/active_record/base.rb:1250:in
`find_from_ids_without_coercion'
  from
/Users/rogerpack/dev/degreesearch/vendor/plugins/acts_as_sluggable/lib/active_record_overrides.rb:12:in
`find_from_ids'
  from
/opt/local/lib/ruby/gems/1.8/gems/activerecord-2.0.2/lib/active_record/base.rb:504:in
`find'
  from
/opt/local/lib/ruby/gems/1.8/gems/activerecord-2.0.2/lib/active_record/associations/has_many_association.rb:66:in
`find'
  from (irb):7

:slight_smile:
Before I submit it wanted to check.

-R

Nope it's because you're running rails 2.0.2, which doesn't have
find :last.
capella.ps.last works but that's an array.last (ie the same as
[1,2,3,4].last: it's loading the whole array and then returning the
last element

Fred

Instead, do

capella.ps.find :first, :order => "id DESC"

Which item is "last" in a SQL query depends on what you're ordering the
query on, so you could use created_at or something else instead of id.

Ciao,
Sheldon.