Thanks Colin for your answer
let me draw the big picture :
in my iatme controller ,before the display ( scope and pagination) , I
searched for geolocalized data of item ( with distance from the
search), and I get a sorted array of Item Ids, (already sorted on the
distance : item_ids = [ 5, 2, 1, 10, ...] )
then I display the items using Kaminari pagination ( Kaminary doesn't
paginate an array )
@items = Item.geo_filtered_with(geo_ids).page params[:page]
and my model scope is :
scope :geo_filtered_with, lambda { |item_ids|
where(:id => item_ids)
}
so I wonder if the result of the scope will keep the same order as the
item_ids
which means :
items.id IN [ 5, 2, 1, 10, ...] will always get items records 5, 2,
1, 10 .... in this order
that's why I did not specified a sort order with the scope, is it
clear ?
On 25 juil, 14:38, Colin Law <clan...@googlemail.com> wrote:
> On 25 July 2012 13:35, Erwin <yves_duf...@mac.com> wrote:
>
> > I am using this scope , in which geo_ids is a sorted array of
> > Ids ...
>
> > scope :geo_filtered_with, lambda { |geo_ids|
> > where(:id => geo_ids)
> > }
>
> > is the resulting output always sorted according to this order ? or
> > should I modify it ?
>
> Since you have not specified any sort specification the order is not
> defined. If you want a particular order you must specify it.
>
> Colin
>
>
>
>
>
>
>
>
>
> > thanks for your feedback
>
> > --
> > You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group.
> > To post to this group, send email to rubyonrails-talk@googlegroups.com.
> > To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe@googlegroups.com.
> > For more options, visithttps://groups.google.com/groups/opt_out.
--
You received this message because you are subscribed to the Google Groups "Ruby on Rails: Talk" group.
To post to this group, send email to rubyonrails-talk@googlegroups.com.
To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe@googlegroups.com.
For more options, visit https://groups.google.com/groups/opt_out.
No comments:
Post a Comment