Saturday, July 30, 2011

[Rails] Re: Combine two collections of objects

On Jul 30, 4:36 pm, Stefano <stefano....@gmail.com> wrote:
> Hi guys
>
> I am not sure if it is actually possible what I am trying to do, but
> Im sure you can help me with it.
> Let me start with my models:
>
> class User < ActiveRecord::Base
>   has_many :wall_posts, :class_name => "Post", :foreign_key =>
> "wall_id", :order => 'created_at DESC'
>   has_many :invites, :class_name => "Invite", :foreign_key =>
> "contact_id", :order => 'created_at DESC'
> end
>
> Now what I want is to combine this to a sort of stream (facebook
> style). This works fine if I do it with an array as in:
>
> def stream
>   stream = wall_posts + invites
> end
>
> but in my view I am using a little bit of javascript and ajax to make
> an 'endless' page. So of course I am using limit and offset. This
> works fine on SQL queries but not for the arrays. So obviously it is
> then not possible to write user.stream.limit(6).offset(6) because its
> already an array..
>
> i tried different joins on posts but i cant really get it to work
> properly. I have to mix them into a stream so that they arrange
> properly chronologically.

Well the slice method on array does sort of the same thing as limit/
offset, eg

[1,2,3,4,5,6,7,8,9,10].slice(3,4) #=> [4, 5, 6, 7]

However if you were to do stream.slice(...) then that would load all
the wall_posts and invites before slicing. If you want to load only
those that are actually going to be displayed then you'll have to come
up with something different, eg passing in both the offset for
wall_posts and the one for invites.

Fred
>
> Thank you for your help, I appreciate it.
>
> Kind regards
> Stefano

--
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 this group at http://groups.google.com/group/rubyonrails-talk?hl=en.

0 Comments:

Post a Comment

Subscribe to Post Comments [Atom]

<< Home


Real Estate