Forum: Ruby on Rails Objects in Arrays? Allowed, right?

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.
Mike D. (Guest)
on 2007-02-12 16:28
Hi:

I'm trying to manually append objects to an instance variable that is
just an array of objects.  Here's my controller code:

@tasks = Task.find(:all, :conditions => "entity_id =
#{session[:user].id}")
for t in @tasks
  if Subtasks.find(:first, :conditions => "child_id = #{t.id}") != nil
    @mtasks << t
  end
end

However, when I execute, I get an error:

You have a nil object when you didn't expect it!
You might have expected an instance of Array.
The error occurred while evaluating nil.<<

Am i incorrectly referencing the object "t"?  I haven't previously
declared or used "mtasks".

Any help you could provide would be greatly appreciated.

Thanks!

Mike
Chad F. (Guest)
on 2007-02-12 16:44
(Received via mailing list)
On 2/12/07, Mike D. <removed_email_address@domain.invalid> wrote:
>     @mtasks << t
> declared or used "mtasks".
>
>

Looks like a typo:  "@tasks" vs. "@mtasks".

Chad
Thorsten L (Guest)
on 2007-02-12 16:57
(Received via mailing list)
You didn't initialize the @mtasks as an array. Try this:

@tasks = Task.find(:all, :conditions => "entity_id =
#{session[:user].id}")
@mtasks = Array.new()
for t in @tasks
  if Subtasks.find(:first, :conditions => "child_id = #{t.id}") !=
nil
    @mtasks << t
  end
end




On 12 Feb., 15:28, Mike D. <removed_email_address@domain.invalid>
This topic is locked and can not be replied to.