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
-~----------~----~----~----~------~----~------~--~---

Reply via email to