Last record from a has_many association?

I am trying to find a particular (in this case the last, or most
recent) status for a user. As a user does certain things, new statuses
are added (into users_statuses).

I want to be able to show a list of users with their current status. I
get as far as at least getting the full list of users (@users =
User.find(:all)), but not sure how to output the list with just the
most recent status?

Help please?

<<< The models >>>
class User < ActiveRecord::Base
  has_many :statuses, :through => :users_statuses
end

class Status < ActiveRecord::Base
  has_many :users, :through => :users_statuses
end

class UserStatus < ActiveRecord::Base
  belongs_to :user
  belongs_to :status
end

<<< The controller >>>
@users = User.find(:all)

hope ur trting to do this
@users = User.find(:all,:include => [:user_statuses], :order=>‘user_statuses.id’)

:slight_smile:
Bala

I am trying to find a particular (in this case the last, or most
recent) status for a user. As a user does certain things, new statuses
are added (into users_statuses).

I want to be able to show a list of users with their current status. I
get as far as at least getting the full list of users (@users =
User.find(:all)), but not sure how to output the list with just the
most recent status?

Help please?

If user is an element of the collection then on 2.1,
user.statuses.last. Prior to that, user.statuses.find(:first, :order
=> ... ) (user.statuses.last would still work but would load the
entire collection whereas in 2,1 it is smart enough to just load the
last one)

Fred