but, if me put the conditions in find method, it will filter much libraries ( if libraries has more one book with more than 100 pages ).
On 31 jul, 17:10, Colin Law <[email protected]> wrote: > 2009/7/31 Italo Matos <[email protected]>: > > > > > I can`t put the conditionbs in the Library.find, because this > > relashionship is uses in other part of code. > > How to call named scope in this case? > > I meant use render :xml=> Library.find(:all, :include => :books, > :conditions => ['books.pages >= ?', 100]).to_xml(:include=>books) > > Or define a named_scope books_with_more_than_100_pages, though I > suspect you would actually parameterise this, then > render :xml=> Library.books_with_more_than_100_pages.to_xml(:include=>books) > > The above not tested so probably full of typos. > > By the way it is generally frowned upon to top post in this list. > > Colin > > > > > On 31 jul, 16:44, Colin Law <[email protected]> wrote: > >> 2009/7/31 Italo Matos <[email protected]>: > > >> > i have: > > >> > class Library << ActiveRecord::Base > >> > has_many :books > >> > end > > >> > class Book << ActiveRecord::Base > >> > belongs_to :library > >> > end > > >> > in my controller i have: > > >> > render :xml=> Library.find(:all).to_xml(:include=>books) > >> > but, i would like put a condition in the books ( e.: pages >= 100 ) > > >> > i would like to create a xml with all Libraries, but books with pages > >> > more > >> > than 100) > > >> Just put the conditions in the Library.find call, ie ["books.pages >= > >> ?", 100] or similar. Or better still provide a named scope in Library > >> to do this. > > >> Colin --~--~---------~--~----~------------~-------~--~----~ 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 [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/rubyonrails-talk?hl=en -~----------~----~----~----~------~----~------~--~---

