Accessing eagerly loaded children

Hello!

In my controller, I have a model that preloads (or eager loads?) its respective child members.

class Parent < ApplicationController

def show    @parent = Parent.find(:all, :include => :children) end end

In my view, I need to display a specific child by searching for it in @parent.children. Right now I am using ActiveRecord's find, which results in an additional query to the database.

@parent.children.find(:all, :conditions => ['name = ?', jonas])

So would it be possible to use Enumerable's find method to search the eagerly loaded children instead of using ActiveRecord's find?

Thanks! Mike

Hello!

In my controller, I have a model that preloads (or eager loads?) its respective child members.

class Parent < ApplicationController

def show   @parent = Parent.find(:all, :include => :children) end end

In my view, I need to display a specific child by searching for it in @parent.children. Right now I am using ActiveRecord's find, which results in an additional query to the database.

@parent.children.find(:all, :conditions => ['name = ?', jonas])

So would it be possible to use Enumerable's find method to search the eagerly loaded children instead of using ActiveRecord's find?

Yes! @parent.children.to_a.find #<= this is Enumerable's find

fred

Frederick Cheung wrote:

Yes! @parent.children.to_a.find #<= this is Enumerable's find

fred

Sweet, that worked wonderfully!