Re: Re: Outputting a string from an array of objects

Peter D Bethke
Thu, 24 Feb 2011 18:12:44 -0000

Thanks Fred!

Does this look right? I''m still getting an error for some reason:

 def get_company_branches

   my_branches =  self.company.branches
   my_list = my_branches.branch_name.collect! { |x| x + "," }
   return my_list
 end

looking for it to output a concatenated string - still erroring out tho. :(

Peter

On Feb 24, 2011, at 1:01 PM, Frederick Cheung wrote:

>
>
> On Feb 24, 5:07 pm, Peter D Bethke
<peter.bet...-ee4meeAH724@public.gmane.org> wrote:
>> Hi All,
>>
>> Newbie here working with an existing Rails project. I''m trying
to create a method that will return a simple string of object values.
>>
>> I have an app that has companies that each are assigned to one or more
branches. Then I have a contact who is assigned to a company. I''ve
created an association with belongs_to for both the company and branch, and the
branch and company has their own class in AR.
>>
>> So
>>
>>  def get_company_branches
>>
>>    my_branches =  self.company.branches
>>    my_list = my_branches.each { |x| puts x.branch_name }
>>    return my_list
>>  end
>>
>> For some reason this returns an object id (the raw ruby object id I
think) not the string i am looking for. Any suggestions?
>>
>
> puts just dumps things to stdout, so you definitely don''t want to
be
> using that here.
> If you want to create an array based on the value of each object in a
> collection then you should use collect (also available as map). It
> creates a new array containing the result of evaluating the block for
> each object of the original collection.
>
> Fred
>
> --
> 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
rubyonrails-talk-/JYPxA39Uh5TLH3MbocFF+G/Ez6ZCGd0@public.gmane.org
> To unsubscribe from this group, send email to
rubyonrails-talk+unsubscribe@googlegroups.com.
> For more options, visit this group at