I''m starting off with something that already works, and trying to add another condition to it. I just can''t seem to find an example of the proper syntax to make this happen. In this case, I have users, and users have many contacts and contacts have and belong to many groups. Up til now I''ve just been searching for (and paginating) a set of contacts that belong to this user that are "LIKE" my search term. Now I want to also limit the selection by which groups a contact belongs to. So far I''ve been finding a set of contacts to show like this: @contacts = @current_user.contacts.paginate(:all, :conditions => ["name LIKE ?", search_term]) Now I want to add to that, a selection based on a group, so, in pseudo syntax that might look something like this: @contacts = @current_user.contacts.paginate( :all, :conditions => ["name LIKE ?", search_term], :joins => :group, :more_conditions => {:groups => {:group.id => selected_group}}) How do I hook these two different types of conditions together? Thanks! -- Posted via http://www.ruby-forum.com/. --~--~---------~--~----~------------~-------~--~----~ 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-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
Jeff, Visit this page, it will really help you in solving your problem http://my.opera.com/learnror/blog/pagination-with-complex-queries In case of any queries you can reply on that blog or on this form any time. Thanks & Regards, Shahroon Ali Khan --~--~---------~--~----~------------~-------~--~----~ 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-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
shoni khan wrote:> Jeff, > Visit this page, it will really help you in solving your > problem > http://my.opera.com/learnror/blog/pagination-with-complex-queries > In case of any queries you can reply on that blog or on this form any > time. > > Thanks & Regards, > Shahroon Ali Khanthanks very much. I will check it out. jp -- Posted via http://www.ruby-forum.com/. --~--~---------~--~----~------------~-------~--~----~ 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-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
On 19 Dec 2008, at 07:29, Jeff Pritchard wrote:> > shoni khan wrote: >> Jeff, >> Visit this page, it will really help you in solving your >> problem >> http://my.opera.com/learnror/blog/pagination-with-complex-queries >> In case of any queries you can reply on that blog or on this form any >> time. >> >> Thanks & Regards, >> Shahroon Ali Khan > > thanks very much. I will check it out.It is however terrible advice. Fetching all rows into memory and then paginating that array could absolutely kill you. You can merge conditions with the merge_conditions class method on ActiveRecord::Base (which is private on 2.1, but not 2.2. You can always call it from one of your model''s class methods. Or you can just build up array based conditions by hand. Fred> > > jp > -- > Posted via http://www.ruby-forum.com/. > > >--~--~---------~--~----~------------~-------~--~----~ 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-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---
Frederick Cheung wrote:> On 19 Dec 2008, at 07:29, Jeff Pritchard wrote: > >>> Shahroon Ali Khan >> >> thanks very much. I will check it out. > > It is however terrible advice. Fetching all rows into memory and then > paginating that array could absolutely kill you. > > You can merge conditions with the merge_conditions class method on > ActiveRecord::Base (which is private on 2.1, but not 2.2. You can > always call it from one of your model''s class methods. Or you can just > build up array based conditions by hand. > > FredThanks Fred, Will that merge_conditions method deal with different styles of conditions?, like: :conditions => ["name LIKE ?", search_term] and conditions => {:groups => {:group.id => selected_group}} I don''t know how to translate either one of these into the other form. thanks, jp -- Posted via http://www.ruby-forum.com/. --~--~---------~--~----~------------~-------~--~----~ 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-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org To unsubscribe from this group, send email to rubyonrails-talk+unsubscribe-/JYPxA39Uh5TLH3MbocFFw@public.gmane.org For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---