Order for a each loop

I have a model for users and another model for linenumbers and I have
some code that looks like:

@user.linenumbers.each do |line|

end

and it loops through a user and their line numbers. What if I want to
order this list, is there a way to do that?

I know I could just put these linenumbers into an a find statement in my
controller and order it that way, but I would rather not do that way.
Thanks,

-S

I have a model for users and another model for linenumbers and I have
some code that looks like:

@user.linenumbers.each do |line|

end

and it loops through a user and their line numbers. What if I want to
order this list, is there a way to do that?

Well you can give an :order option to the association yourself.
Alternatively you could call sort or sort_by on your array

Fred

Well, after first thinking "Why not?" I'll offer this (it's only Ruby):

@user.linenumbers.sort_by{|line| line.number}.each do |line|
   #...
end

But I'll still suggest:

class User
   has_many :linenumbers, :order => 'number'
end

Or perhaps a named scope is OK,

class Linenumber
   named_scope :ordered, :order => 'number'
end

@user.linenumbers.ordered.each do |line|
   #...
end

-Rob

Rob Biedenharn http://agileconsultingllc.com
Rob@AgileConsultingLLC.com

Or
default_scope :order => 'number'
if linenumbers are always to be sorted.

Coli9n