Forum: Ruby on Rails rails way to strip empty child objects from array?

Announcement (2017-05-07): www.ruby-forum.com is now read-only since I unfortunately do not have the time to support and maintain the forum any more. Please see rubyonrails.org/community and ruby-lang.org/en/community for other Rails- und Ruby-related community platforms.
Be5736b3bc77d526585c1f17b6692520?d=identicon&s=25 poipu (Guest)
on 2007-02-04 20:48
Hi,
I have a object with children. some of these children are empty...so
when i paginate them, i get blanks. is there a way to strip out the
empty children? these are my debug. thanks.

- !ruby/object:Scategory
  attributes:
    name: bbq
    id: "2"
    mcategory_id: "2"
  howtos: []


- !ruby/object:Scategory
  attributes:
    name: baking
    id: "3"
    mcategory_id: "2"
  howtos:
  - !ruby/object:Howto
    attributes:
      scategory_id: "3"
      title: Carrot cake so good.
Be5736b3bc77d526585c1f17b6692520?d=identicon&s=25 poipu (Guest)
on 2007-02-04 21:01
it seems basically i need to run a compact on the children, but how to
use compact on children?
Aafa8848c4b764f080b1b31a51eab73d?d=identicon&s=25 Phlip (Guest)
on 2007-02-04 21:04
(Received via mailing list)
poipu wrote:

> I have a object with children. some of these children are empty...so
> when i paginate them, i get blanks. is there a way to strip out the
> empty children? these are my debug. thanks.

I have been having so much fun with Array#reject recently...

;-)

--
  Phlip
  http://www.greencheese.us/ZeekLand <-- NOT a blog!!!
Aafa8848c4b764f080b1b31a51eab73d?d=identicon&s=25 Phlip (Guest)
on 2007-02-04 21:29
(Received via mailing list)
poipu wrote:

> it seems basically i need to run a compact on the children, but how to
> use compact on children?

Put them into an Array?

If they are in a Model, such as a product of has_many, they likely are
already in an Array.

Post some Ruby code (not YAML!).

--
  Phlip
  http://www.greencheese.us/ZeekLand <-- NOT a blog!!!
Be5736b3bc77d526585c1f17b6692520?d=identicon&s=25 poipu (Guest)
on 2007-02-04 21:46
yes, it is a model. but im still trying to grasp the concept.....

i am calling this..

@scats = Scategory.find(:all, :conditions => ["mcategory_id = ?",
params[:id]], :include => :howtos)

howtos are the children....scategory has many howtos....

now scats is an array where the content is an array of howtos contents?
Aafa8848c4b764f080b1b31a51eab73d?d=identicon&s=25 Phlip (Guest)
on 2007-02-04 23:57
(Received via mailing list)
poipu wrote:

> @scats = Scategory.find(:all, :conditions => ["mcategory_id = ?",
> params[:id]], :include => :howtos)
>
> howtos are the children....scategory has many howtos....
>
> now scats is an array where the content is an array of howtos contents?

p scats.first
p scats.first.howtos
p scats.first.howtos.first

Next question: What is an "empty" howto? Can you add a :condition or
similar
to the has_many to exclude them at the database level? Or - even better
-
not store them?

--
  Phlip
  http://www.greencheese.us/ZeekLand <-- NOT a blog!!!
This topic is locked and can not be replied to.