11175
(-- --)
1
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
rab
(Rob Biedenharn)
3
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